103 Early Hints(RFC 8297)讓伺服器在最終回應準備好之前,先送出部分標頭,通常是帶有 rel=preload 或 rel=preconnect 的 Link 標頭。伺服器還在產生網頁時,瀏覽器就已經可以開啟連線,並下載關鍵的 CSS、字型或指令碼。同一個要求的最終回應(通常是 200 OK)隨後才會送達。
瀏覽器只把這些提示當作建議。以 Chromium 為基礎的瀏覽器在透過 HTTP/2 與 HTTP/3 進行頂層導覽時,會依 103 中的 preload 與 preconnect 提示採取行動;其他瀏覽器對早期提示的支援程度不一。無法辨識 103 的用戶端會直接忽略它。部分 CDN 可以代為傳送 103 回應,例如 Cloudflare 會根據先前回應中的 Link 標頭產生 103。
提示會在伺服器決定最終狀態之前送達,因此最終回應仍可能是重新導向或錯誤,這時預先載入的資源可能就白白浪費了。103 中的標頭不會沿用到最終回應;如果這些標頭很重要,請在最終回應中再次傳送。
回應範例
HTTP
HTTP/1.1 103 Early Hints
Link: </assets/app.css>; rel=preload; as=style
Link: <https://cdn.example.com>; rel=preconnect
HTTP/1.1 200 OK
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: text/html; charset=utf-8
Link: </assets/app.css>; rel=preload; as=style
Link: <https://cdn.example.com>; rel=preconnect
Transfer-Encoding: chunked SEO 與重新導向檢查
103 對 SEO 沒有直接影響,因為爬蟲會忽略中間回應,並將最終回應編入索引。間接來說,早期提示可以改善真實使用者的載入指標,例如最大內容繪製(LCP)。重新導向檢查工具列出的是每個躍點的最終狀態;103 回應會由 HTTP 用戶端自行處理,不會顯示為躍點。
常見原因與使用情境
- Cloudflare Early Hints 等 CDN 功能會重新送出先前回應中出現過的
Link: rel=preload標頭。 - 應用程式伺服器在查詢資料庫或產生網頁期間傳送 103。
- 提示似乎沒有作用:請確認網站是透過 HTTP/2 或 HTTP/3 提供,而且提示是針對網頁導覽傳送,而不是針對子資源。