http协议报文分析

HTTP:Hypertext transport protocal 超文本传输协议报文格式

http报文格式分为:请求报文和响应报文

http请求报文分四个部分:请求行(Request Line)、请求头部(header)、空行(blank)、请求数据(Request Body);(如图1.1)

http协议报文分析_第1张图片

其大概的响应字段表示如下:

http协议报文分析_第2张图片

请求头由关键字和键值 组成的键值对 详情如下:

HOST:服务器的域名和相应的监听端口,如果是80则省略。

Connection:浏览器想要使用的连接类型(此处是keep-alive,就是保持活跃)

Cache-Control:指定当前的请求或者响应是否启用缓存( max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应)

Upgrade-Insecure-Requests:1这个字段表示当前的浏览器告诉服务器,它能读懂服务器发过来的信息,但是请他下一次发送的时候用https(相比较http来说更为安全)

User-Agent: 浏览器的身份标识字符串(后面的信息就是这次抓包的浏览器相应的信息)

Accept:可接受的响应内容类型(text或者html等。。。)

Cookie:保存的就是请求时相应的cookie内容

PS:请求头还有很多其他的类型和说明,可以在https://itbilu.com/other/relate/EJ3fKUwUx.html这里找到相应的参考。

接下来是响应报文

响应报文也是由三个部分组成:状态行、消息报文、响应正文;

第一行就是状态行,格式如下:

http协议报文分析_第3张图片

HTTP-Version Status-Code Reason-Phrase CRLF

分别表示响应http的版本,响应状态代码,以及对状态代码的描述。

可以看出状态代码为200,对状态码的描述为ok,可以看出这次请求已经被服务器理解,接收。

以下为不同的状态码所表示的信息。(图内容来自http://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.html)

响应消息报文,如下:

其对应的关键字段和表示的信息如下:

Cache-Control:还是控制页面的缓存,private是其默认值, 这表示打开新窗口会重新访问服务器,而如果定义了Max-age则表示在对应的时间内不会重新访问服务器。

Content-Length:响应消息长度(注意,是用8进制表示的23706)

Content-type:响应消息的内容类型,为text/html

Server:服务器名称(本次回应请求的服务器名称为:Microsoft-IIS/7.5)

Date:表示响应时间。

你可能感兴趣的:(接口测试,http协议分析,fiddler)