浏览器请求/响应报文分析

请求报文

请求报文由3部分组成:请求行、请求头和请求体

请求行

格式(请求方法 请求地址 HTTP协议及版本):POST /test/get/1 HTTP/1.1

请求头

General + Request Handers两部分组成,当请求没有响应结果返回前,在浏览器中可看到部分临时请求头参数,当响应结果返回后,可出现完整的请求头信息以及响应报文

临时请求头信息:

完整请求头信息:

Accept:表示客户端希望接受到的数据格式

Accept-Encoding:客户端希望接受的编码方式

Accept-Language:客户端希望接受的语言格式

Connection:客户端和服务器之间的连接方式,值为close或keep-alive,close表示一次请求后即关闭连接,keep-alive:表示长连接

Content-Type:表示客户端发送的数据格式

Content-Length:响应报文内容的总字节大小

Cookie:HTTP是无状态的,所以引用cookie来管理客户端和服务器的状态

Host:请求接口的IP地址

User-Agent:显示浏览器类型及版本、操作系统及版本、浏览器内核等信息

Cache-Control:指定请求遵循的缓存机制,缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached

:来源协议,用于约定request headers中的 Referer,包含下列协议

no-referrer:任何情况下都不发送Referer

no-referrer-when-downgrade:当降级(从Https到Http)时不传递 Referrer 报头,其他情况下不影响

same-origin:同源,即当协议、域名和端口(如果有一方指定的话)都相同,才会传递 Referrer

origin:仅将协议、域名和端口(如果有的话)当作 Referrer,如https://example.com?token=123则Referer是https://example.com

strict-origin:类似origin,降级(从Https到Http)后不传递Referrer

origin-when-cross-origin:跨域时(协议、域名和端口只有一个不同)和origin模式相同,否则 Referrer 还是传递当前页的全路径

strict-origin-when-cross-origin:类似origin,降级(从Https到Http)后不传递Referrer

unsafe-url:任意情况下,都发送当前页的全部地址到 Referrer,最宽松和不安全的策略

:(1)做请求拦截:可以限制当前请求的Referrer必须是某个域名,否则就拦截,不进行后续操作;(2)防止恶意请求:只能在本域名下才能访问某接口,即可通过Referrer来判断,如果访问的接口不是在本域名下(可能通过postman等工具来调接口,但不设置Referrer的值),则拦截掉,不进行后续操作

请求体

请求接口的参数都在请求体中

响应报文

响应报文由3部分组成:状态行、消息报头、响应正文

状态行

格式(HTTP协议及版本 状态码 状态代码的文本描述) 如:HTTP/1.1 200 OK状态码:

1xx:指示信息–表示请求已接收,继续处理。

2xx:成功–表示请求已被成功接收、理解、接受。

3xx:重定向–要完成请求必须进行更进一步的操作。

4xx:客户端错误–请求有语法错误或请求无法实现。

5xx:服务器端错误–服务器未能实现合法的请求。

消息报头

Cache-Control:指定响应遵循的缓存机制,缓存指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age

Content-Type:服务器通过Content-Type告诉浏览器返回数据的类型

Date:消息发送的时间

Pragam:同Cache-Control,兼容HTTP 1.0,Cache-Control是HTTP1.1提供的

Set-Cookie:设置和页面关联的Cookie

Transfer-Encoding:告诉浏览器数据的传送格式,chunked表示分块传输

响应正文

即接口返回的实际数据,可以根据Content-Type设置的值返回json格式的数据或返回xml格式数据

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181114G1K7RY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券