可以通过点击 HTTP 1.1 中request右侧的 view source 看到 request 的结构,如图所示:
但有的链接上却没有 view source 这个选项,这是怎么回事呢?
这是因为只有 HTTP1.1 的链接有这个选项,所以想要看的要要挑选 HTTP1.1 的链接。具体解决方法如下:
HTTP header 中的 view source
通过 Chrome Network 做资源加载性能分析时,查看 URL 的 HTTP Headers,有的显示 view souce/view parsed 选项,有的却不显示?这什么鬼,顿时有一种知识匮乏的焦虑感,下面两个截图展示了我疑惑。
于是在 SO 上搜索一番,还真找到了同样的问题,可戳此查看,原因也很明确,简而言之就是 HTTP/1.x 版本显示 view source 而 HTTP/2 版本不显示,点开 Response Headers 的 view source 可以看到响应行信息 HTTP/1.1 200 OK
, 可以看出确实是 HTTP/1.1 版本。
获取 HTTP 版本号
== 我不就想看一下 http 版本号, 怎么搞得这么麻烦,感觉有点 stupid!翻了下谷歌开发者文档,找到了 Network 中的 Protocol 选项(默认不开启,用于显示请求协议及版本号),就像下图这样,看起来就直观多了。
为什么 HTTP/2 不显示 view source
HTTP/1.x 中的 view source 可以用来查看请求和响应的状态行信息,在 HTTP/2 中请求行被拆分成了 :method
、:scheme
、:authority
和 :path
等伪标头字段,影响行增加了 status
字段显示响应状态,至于为什么这样拆分,我想应该和 HTTP/2 的标头压缩有关,在我看来这样也简洁明了,以下两个截图是同一个资源的 http 请求, 图一 使用 HTTP/1.1 版本,图2 使用 HTTP/2 版本。
图1
图2
作者:johnhuu
链接:https://juejin.cn/post/6844904101382193165
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。