HTTP和fiddler

1.HTTP 是什么?

HTTP (全称为 "超⽂本传输协议") 是⼀种应⽤⾮常⼴泛的应⽤层协议.
HTTP 诞⽣与 1991 年. ⽬前已经发展为最主流使⽤的⼀种应⽤层协议,我们平时打开⼀个⽹站, 就
是通过 HTTP 协议来传输数据的。
当我们在浏览器中输⼊⼀个 搜狗搜索的 "⽹址" (URL) 时, 浏览器就给搜狗的服务器发送了⼀个 HTTP 请
求, 搜狗的服务器返回了⼀个 HTTP 响应。
这个响应结果被浏览器解析之后, 就展示成我们看到的⻚⾯内容. (这个过程中浏览器可能会给服务器发送
多个 HTTP 请求, 服务器会对应返回多个响应, 这些响应⾥就包含了⻚⾯ HTML, CSS, JavaScript, 图⽚,
字体等信息)。

2.HTTP ⼯作过程

当我们在浏览器中输⼊⼀个 "⽹址", 此时浏览器就会给对应的服务器发送⼀个 HTTP 请求. 对⽅服
务器收到这个请求之后, 经过计算处理, 就会返回⼀个 HTTP 响应.

2.1 HTTP 协议格式

HTTP 是⼀个⽂本格式的协议. 可以通过 Chrome 开发者⼯具或者 Fiddler 抓包, 分析 HTTP 请求/响应的细节.
HTTP 请求:
⾸⾏: [⽅法] + [url] + [版本]
Header: 请求的属性, 冒号分割的键值对;每组属性之间使⽤\n分隔;遇到空⾏表示Header部分结束
Body: 空⾏后⾯的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有⼀个
Content-Length属性来标识Body的⻓度;
HTTP 响应:
⾸⾏: [版本号] + [状态码] + [状态码解释]
Header: 请求的属性, 冒号分割的键值对;每组属性之间使⽤\n分隔;遇到空⾏表示Header部分结束
Body: 空⾏后⾯的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有⼀个
Content-Length属性来标识Body的⻓度; 如果服务器返回了⼀个html⻚⾯, 那么html⻚⾯内容就
是在body中.

3.fiddler

3.1抓包⼯具使⽤

● 左侧窗⼝显示了所有的 HTTP请求/响应, 可以选中某个请求查看详情.
● 右侧上⽅显示了 HTTP 请求的报⽂内容. (切换到 Raw 标签⻚可以看到详细的数据格式)
● 右侧下⽅显示了 HTTP 响应的报⽂内容. (切换到 Raw 标签⻚可以看到详细的数据格式)
● 请求和响应的详细数据, 可以通过右下⻆的View in Notepad 通过记事本打开.

3.2抓包⼯具原理

Fiddler 相当于⼀个 "代理".

浏览器访问 sogou.com 时, 就会把 HTTP 请求先发给 Fiddler, Fiddler 再把请求转发给 sogou 的服务器. 当 sogou 服务器返回数据时, Fiddler 拿到返回数据, 再把数据交给浏览器. 因此 Fiddler 对于浏览器和 sogou 服务器之间交互的数据细节, 都是⾮常清楚的.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值