1.HTTP(HyperText Transfer Protocol)
http是一种“超文本传输协议",是互联网上应用最广泛的一种网络协议,其作用是提供客户端如何发送"请求",服务器如何"响应"。通常服务器会默认为"80"端口。
2.HTTP的请求和响应的格式(背)
HTTP的"GET"请求
1. GET / HTTP/1.1
2. Host:www.baidu.com
2. Accept: text/html
3. 断行
HTTP的"POST"请求
1. POST / HTTP/1.1
2. Host:www.baidu.com
2. Accept: application/json
2. Content-Type: application/x-www-form-urlencoded
2. Content-Length: ...
3. 断行
4.
基本上可以分为四个部分, 第三部分的"断行"是为了更好的区分第二部分和第四部分的内容,第四部分返回的是你输入的字符串。
HTTP的"GET"响应
1. HTTP/1.1 200 OK
2. Content-Length: …
2. Content-Type: text/html或application/x-JavaScript; charset=utf-8
3. 断行
4.
HTTP的"POST"响应
1. HTTP/1.1 302 Found
2. Content-Length: 17931
2. Content-Type: text/html
3.
4.
基本上可以分为四个部分, 第二部分是表达文件的大小和类型,第三部分的"断行"是为了更好的区分第二部分和第四部分的内容,第四部分会返回得到网页的源码。
3.状态码(背)
200 通常的成功 OK
GET:请求的对应资源会作为响应返回。响应将包含描述或操作的结果。
POST:返回处理对应请求的结果。
204 成功处理请求,没有返回任何内容 No Content
表示服务器接收到的请求已经处理完毕,但是服务器不需要返回响应。比如,客户端是浏览器的话,那么浏览器显示的页面不会发生更新。
206 Partial Content
成功处理了部分GET请求
301 Moved Permanently
请求的网页已永久移动到新位置,永久性重定向
302 Found
网站临时性重定向,暂时不能访问(备案、被查)
303 See Other
该状态码表示由于请求对应的资源存在另一个URI,并指定必须使用GET方法定向获取请求的资源。和302不同的是,302是不会改变上次的请 求方法
304 Not Modified
访问不了,并返回和上次一样的话,表示资源未被修改过,还是和上次访问时一样。
307 Temporary Redirect
临时重定向,和302、303类似,不同的是,不会指定客户端要用什么样的方法请求,
400 Bad Request
表示客户端中存在语法错误,导致服务器无法理解该请求。客户端需要修改请求的内容后再次发送请求。
401 Unauthorized
即用户没有必要的凭据。该状态码表示当前请求需要用户验证。
403 Forbidden
服务器已经理解请求,但是拒绝执行它。
404 Not Found
服务器找不到请求的网页。
500 Internal Server Error
服务器遇到错误,无法完成请求。
503 Service Unavailable
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是暂时的.
4. 使用Chrome开发者工具查看 HTTP 请求内容和响应内容
请求:打开NETWORK--输入网址--- 选中第一个请求--查看 Requset并点击view parsed就可以查看。
响应:打开NETWORK--输入网址--- 选中第一个响应--查看 Response并点击view parsed就可以查看。
5.curl命令的使用
GET请求: curl -s -v -- "https://www.baidu.com"
POST请求: curl -X POST -s -v -- "https://www.baidu.com"