HTTP之消息结构

Zss 发表于:
很多东西都需要自己动手来实验才能真的理解记住这些知识,单纯的看一些东西真的只是背而已,不需要多久就忘了,所以结合实际来理解更加深刻,http一个协议都够出一本厚厚的书了,作为测试不需要那么深层的研究它,但是最基本的肯定是需要知道的,所以总结一下加深一下理解

首先来看一看request的消息结构
HTTP的request消息结构分成三部分:1.request line   2.request headers   3.body

其中headers和body报文中间是有一个空行

使用fiddler抓一个http瞧一瞧,使用get方法来请求主页www.testone.top

在raw中查看原始数据,第一行所指request line了,信息包括了使用的什么请求方法,请求什么网址以及http的版本号

之下的也就是request header 了,为什么没有body呢?  因为在使用到post才有,一般为字典的形式,若使用get提交的数据那么直接是显示在line网址结尾的

那么再使用wireshare抓一个http,其实是差不多的,反而fiddler更加清晰

再看看post,header与body中间多了一行

再者瞧一瞧response,也就是响应,与request一致,同样也分为三部分,

1.Response line, 2.Response header,3.body.

header和body之间也有个空行,结构如下图

使用fiddler抓取一个首页的response,是不是也多了个空行,值得一提的是line中的三个信息为        http版本号 — 状态码 —- 消息

消息是指服务器返回给客户端的信息,正常的都是ok,那么就是成功嘛,在公司产品中若添加一些重复的条目是不被允许,那么此时他会返回一个自己定义的信息在body中,例如信息冲突了