第 38 篇:HTTP/1.1 vs HTTP/2:抓包对比
抓包实战系列第 18 篇。上一篇我们讲了 UDP 丢包如何定位:两端抓包、应用序列号、系统计数器、socket buffer。今天从 UDP 切回 HTTP,看看 HTTP/1.1 和 HTTP/2 在抓包里到底有什么不同。为什么 HTTP/1.1 经常开多个连接?HTTP/2 为什么能在一条连接里跑多个请求?队头阻塞又到底卡在哪里?开场:同样是网页,包的长相完全不同你打开一个网页。页面上可能有:HTMLCSSJavaScript图片字体接口请求埋点请求对用户来说,就是一个页面。对网络来说,是一堆资源。HTTP/1.1 和 HTTP/2 最大的差别之一,就是它们怎么把这一堆资源运回来。HTTP/1.1 的思路更像:多开几个窗口排队办业务。HTTP/2 的思路更像:一个窗口里同时处理多个业务,但每个业务有自己的编号。先给结论:HTTP/1.1 的抓包重点是连接数量、请求排队和连接复用;HTTP/2 的抓包重点是单连接多路复用、Stre