• 24小时服务热线:400-088-1128

当前位置 南顺网络>> 知识拓展

HTTP的请求与响应

HTTP 请求包括哪些部分

HTTP 请求包括哪些部分:


第一部分:


> POST / HTTP/1.1


第二部分:


> Host: www.baidu.com


> User-Agent: curl/7.54.0


> Accept: */*


> Frank: xxx


> Content-Length: 10


> Content-Type: application/x-www-form-urlencoded


第三部分:


>


第四部分:


> 1234567890


">" 后面的的是HTTP请求部分,"<" 后面是HTTP响应部分


第一部分:动词 路径 协议/版本


动词包括:GET POST PUT PATCH DELETE HEAD OPTIONS 等

路径包括「查询参数」,但不包括「锚点」。即使没有写路径,HTTP也会添加一个"/"为默认路径


第二部分:Key:value 格式的数据


其中 Content-Type 属性标注了第四部分上传的数据的格式。


第三部分:只有一个回车,用来区分第二部分和第四部分

第四部分:要上传的数据


在HTTP请求中可以没有上传数据,所以可以根据有无数据分为三部分或四部分。


HTTP 响应包括哪些部分

HTTP响应与HTTP请求对应,也包括四部分:


第一部分:


< HTTP/1.1 200 OK


第二部分:


< Accept-Ranges: bytes


< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform


< Connection: Keep-Alive


< Content-Length: 2443


< Content-Type: text/html


< Date: Tue, 10 Oct 2017 09:14:05 GMT


< Etag: "5886041d-98b"


< Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT


< Pragma: no-cache


< Server: bfe/1.0.8.18


< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/


第三部分:


<


第四部分:



...等标签


对应图片:


第一部分:协议/版本号 状态码 状态解释


第二部分:Key:value 格式的数据


Content-Length 属性:表示页面长度

Content-Type 属性:标注了第四部分上传的数据的格式。



第三部分:依然是只有一个回车,用来区分第二部分和第四部分

第四部分:要下载的数据内容


如何用Chrome开发者工具查看 HTTP 请求、响应内容

1. 打开浏览器,按F12或者右击网页进入检查。


2. 点击 Network


3. 在浏览器地址栏输入要查看的网址,然后回车


4. 然后在下面会出现一个Name栏,点击Name栏列表中的第一个地址


5. 这时Name栏左侧会出现一个新栏,下面的第二个就是HTTP 响应内容


6. 在Name栏左侧的新栏下面的第三个就是HTTP 请求内容


如何使用 curl 命令

用curl创建一个请求并获取响应:


$ curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"



-H "Frank: xxx"添加一个请求头

-- "https://www.baidu.com"要请求的网址

-s 不要显示进度条

-v 显示请求和响应

-H "Frank: xxx" 没有实际意义,只是上传的一句话

请求的内容:


> GET / HTTP/1.1


> Host: www.baidu.com


> User-Agent: curl/7.64.0


> Accept: */*


> Frank: xxx


>


-X 请求内容为POST格式:


$ curl -X -s -v -H "Frank: xxx" -- “https://www.baidu.com”



请求的内容:


> POST / HTTP/1.1


> Host: www.baidu.com


> User-Agent: curl/7.64.0


> Accept: */*


> Frank: xxx


>



-d "1234567890"添加一个数据:


$ curl -X -d "1234567890" -s -v -H "Frank: xxx" -- “https://www.baidu.com”



请求的内容:


> POST / HTTP/1.1


> Host: www.baidu.com


> User-Agent: curl/7.64.0


> Accept: */*


> Frank: xxx


> Content-Length: 10


> Content-Type: application/x-www-form-urlencoded


>


} [10 bytes data]


* upload completely sent off: 10 out of 10 bytes -- 这里表示上传了十个字符串


Content-Length:上传内容的长度

Content-Type:上传内容的格式。