現象:單個對象 (圖片/CSS/JS) 響應時間 HTTP/1.0 < HTTP/1.1,但頁面整體載入 1.1 更快。
原因
- HTTP/1.0:請求頭極簡 (僅 `GET /path HTTP/1.0\r\n\r\n`),無 `Host`、`Connection`、`User-Agent`、`Accept-Encoding` 等頭部,**解析開銷極小**,服務端處理快,單對象 TTFB 低。
- HTTP/1.1:**強制 `Host` 頭**,常帶 `Connection: keep-alive`、`Accept-Encoding: gzip, deflate`、`User-Agent`、`Cookie` 等,**請求頭通常 500B-2KB**,服務端解析、路由、壓縮決策耗時更長,導致單對象 TTFB 略高。
- 頁面級優勢:1.1 支持 **持久連接 (Keep-Alive)** + **管線化** (雖少用) + **分塊傳輸** + **緩存協商** (`ETag`/`If-None-Match`),避免重複 TCP 握手、減少往返,**整體頁面載入顯著快於 1.0 多連接模式**。
驗證方法
# 抓包對比請求頭大小
tcpdump -i eth0 -A -s 0 'port 80' | grep -A 20 'GET /'
# 或瀏覽器 DevTools Network 面板查看 Request Headers 大小
總結:**對象級 1.0 輕量快,頁面級 1.1 連接復用強**,現代 Web 均用 1.1/2/3。