请求报文
请求报文由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格式数据
领取专属 10元无门槛券
私享最新 技术干货