HTTP报文分析

HTTP请求(request)

http请求的格式如下图
HTTP报文分析
http请求报文的构成如下图
HTTP报文分析
其中请求头具体含义可以参考博客HTTP 请求头各参数具体含义

HTTP响应(response)

http响应的格式如下图
HTTP报文分析
http响应报文的格式如下图
HTTP报文分析
其中响应头具体含义可以参考博客HTTP 请求头各参数具体含义

如何通过F12来分析HTTP报文

浏览器中按下F12界面信息如下
HTTP报文分析
通用信息头 General
既能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,可以理解为为了一眼瞄过去,就能了解报文信息而存在。
Request URL:请求的URL
Request Method:请求的方法类型
Status Code:响应的状态码和结果
Remote Address:远程服务器地址
Referrer Policy:从哪个页面跳转过来的,图中的含义为:当发生降级(比如从 https:// 跳转到 http:// )时,不传递 Referrer 报头。
响应头 Response Headers
Connection:当前连接是否保持
Content-Encoding:与请求报头Accept-Encoding对应,告诉浏览器服务端采用的是什么压缩编码
Content-Type:返回的响应MIME类型与编码,用于告诉浏览器它发送的数据属于什么文件类型
Date:原始服务器消息发出的时间
Transfer-Encoding:传输编码
Content-Length:指明实体正文的长度,用以字节方式存储的十进制数字来表示
Content-Language:描述了资源所用的自然语言,与Accept-Language对应
Keep-Alive:保持连接的时间
Server:使用的服务器名称
请求头 Request Headers
Accept:告诉服务器可以接受的文件格式
Accept-Encoding:指定浏览器可以支持的web服务器返回的内容压缩编码类型
Accept-Language:浏览器支持的语言
Cache-Control:指定请求和响应遵循的缓存机制
Connection:表示是否需要持久连接
Host:用于指定被请求资源的Internet主机和端口号
Origin:用来说明请求从哪里发起的,包括,且仅仅包括协议和域名
Referer:告诉服务器是从哪个网站链接过来的,服务器请求的原始资源的URI
User-Agent:客户端将它的操作系统、浏览器和其他属性告诉服务器
Accept-Charset:用于指定客户端接受的字符集
Cookie:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
可以通过请求头和响应头旁边的“view source”按钮来查看请求和响应报文的具体信息

因为输入的地址是一个用来登陆的网页,所以需要向服务器发送登陆的信息,传参方法使用的是Request Payload,F12中的显示如下,
HTTP报文分析

常见的HTTP状态码

200:请求成功
302:跳转到指定地址,跳转的地址通过Location指定
304:本地缓存的资源是最新的,浏览器从本地缓存中读取对应的资源
400:客户端请求有语法错误,不能被服务器识别
403:服务器收到请求,但是拒绝提供服务
404:请求的资源不存在
500:服务器发生不可预期的错误
502:网关错误
503:服务器暂时不可用