可以通過點擊 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
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。