Loading

如何通过浏览器查看 request 与 response 的结构

可以通过点击 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
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2021-11-26 14:40  拾月凄辰  阅读(1875)  评论(0编辑  收藏  举报