HTTP 协议的基本格式和 fiddler 的用法

本文主要分为两个大点,为了理解HTTP协议的工作过程,以及理解HTTP协议的报文格式,要先说一下fiddler抓包工具的基础用法。来帮助更好的明确。

一,抓包工具fiddler

首先抓包工具是什么,为什么要有这个。

在HTTP在网络上传输时,这个抓包工具可以把HTTP传输的数据获取到,并且显示出来。

1.抓包工具推荐

HTTP抓包工具很多,在这边主要推荐fiddler,因为这个是专门用来抓取HTTP的。

还有就是浏览器自带的抓包工具:Network

但自带的这款抓包工具,看着不够直观。

还有一个老牌的一个抓包工具:wireshark

这款功能十分强大,几乎所有的网络协议都可以抓到,但也就是因为太强了,所以门槛很高 ,而且抓HTTP没有优化。

二,fiddler使用

1.下载

直接在浏览器搜索,然后点进去官网下载:Web Debugging Proxy and Troubleshooting Tools|Fiddler (telerik.com)      

点击这个图标一路下载就好:

2.使用

下载之后 点开之后能看见一大堆东西,包含了你主机上所有HTTP协议的请求和响应数据:

   

 记住,要关注的是蓝色的,并且body这一行比较大的数据,进去点击raw,右上方是请求的详情,右下方是请求的响应,那个右边中间的是解压缩按钮,底下数据可以看到是二进制的,点击之后手动解压,让你能够看得明白:

 二,HTTP协议的基本格式

首先说明,HTTP是一个文本格式的协议,在本质上,一个HTTP数据包,就是按照上述的格式 ,构造出一串文本,写入到tcp socket中。

1.一个HTTP请求报文分为四个部分:

1.首行

首行又包含三个部分:

1)请求的方法:GET

2)请求的URL(也就是网址)

3)版本号:

第一个红色框框就是方法,第二个一大段没有框框的就是URL,第三个红色框框就是版本号。 他们三个是使用空格来隔开的。

2.请求头(header)

这些也就是请求头,本质上是一个键值对,每一行是一个键值对,键和值之间分割,会有一个空行隔开 

3.空行

最后一个header后面,类似链表,使用null作为结尾一样。

4.正文

有时候有body,有时候没有正文,这也是你要给浏览器的东西,也就是json传输数据的必要数据

2.一个HTTP响应报文也分为四个部分:

1.响应的首行:

HTTP/1.1 200 OK

1)版本号:HTTP/1.1

2)状态码:200

3)状态码描述:OK

在这边200 OK就是一个成功的响应,出现什么404 Not Found就是一个失败的响应。

2.响应头:

也是有一个空行存在

3.空行

也就是分隔的

4.正文:

 正文中放置什么的都可以,有空行也行,但不是隔开的,只有HTTP中第一个空行,才是header结束标记。

  • 22
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值