1. HTTP是什么?
HTTP :超文本传输协议。是一种流行的应用层协议,“超文本”不仅仅是指文本(html, css, JavaScript等),还可以使其他的资源,比如图片,视频,音频等二进制的数据。
2. HTTP工作过程
在浏览器中输入一个“网址”,浏览器会给对应服务器发送一个HTTP请求,服务器收到该请求之后,会返回一个HTTP相应。
3. 抓包结果分析
HTTP是一个文本格式的协议,可以通过Chrome开发者工具或者Fiddler进行抓包,分析HTTP请求/响应。
浏览器访问sougou.com时,会把HTTP请求现发给Fiddler,Fiddler再把请求转发给 sogou 的服务器. 当 sogou 服务器返回数据时, Fiddler 拿到返回数据, 再把数据交给浏览器。
HTTP 请求头:
HTTP 响应头:
为什么HTTP报文中 要有“空行”的存在?
因为 HTTP 协议并没有规定报头部分的键值对有多少个. 空⾏就相当于是 "报头的结束标记", 或者是 "报头 和 正⽂ 之间的分隔符"。
HTTP 在传输层依赖 TCP 协议, TCP 是⾯向字节流的. 如果没有这个空⾏, 就会出现 "粘包问题"。
留言0