文章目录
一、HTTP 是什么
HTTP 全称为 “超长文本传输协议” ,是一种应用非常广泛的应用层协议。
HTTP 往往是基于传输层的 TCP 协议来实现的,(HTTP1.0、HTTP1.1、HTTP2.0均为 TCP,HTTP3.0 是基于 UDP),但是现在主要使用的还是HTTP1.1、HTTP2.0,所以我们这里讨论的以 HTTP1.1 为准。
当我们在浏览器输入搜狗的“网址”(URL)时,浏览器会给搜狗的服务器发送一个 HTTP 请求,服务器收到这个请求并向浏览器返回一个 HTTP 响应。
响应被浏览器解析之后就成了我们看到的搜狗页面,(这个过程中浏览器可能会给服务器发送多个 HTTP 请求,服务器也会对应返回多个响应,这些响应包含 HTML/CSS/JavaScript/图片/字体等信息)
所谓 “超文本” 的含义:就是传输的内容不仅仅是文本(比如 html, css 这个就是文本),还可以是一些其他的资源,比如图片、视频、音频等二进制的数据
二、理解 “应用层协议”
三、理解 HTTP 协议的工作过程
四、HTTP 协议格式
HTTP 协议是一个文本格式的协议,可以通过 Chrome 开发者工具或者 Fiddler 抓包工具查看具体的 HTTP 请求/响应细节。
1、Fiddler 下载
Fiddler 下载:https://www.telerik.com/fiddler
2、抓包工具的使用
Fiddler 相当于一个代理
浏览器访问搜狗先把 HTTP 请求发送给 Fiddler ,Fiddler 再把请求转发给搜狗服务器;搜狗服务器收到请求后返回 HTTP 响应给 Fiddler ,然后 Fiddler 再把请求返回给浏览器。
因此,Fiddler 对浏览器和搜狗服务器之间的数据交互都非常清楚。