TrueURL
TrueURL

選單

HTTP 狀態碼參考指南

每個 HTTP 回應都以一個三位數的狀態碼開頭,告訴用戶端要求的處理結果。依類別瀏覽各個狀態碼,查看白話易懂的說明、回應範例,以及每個狀態碼對重新導向與 SEO 的意義。

3xx 重新導向

用戶端必須採取進一步的動作,通常是對 Location 標頭中的 URL 發出要求。重新導向鏈就是由這類狀態碼組成。

4xx 用戶端錯誤

要求無法依原樣完成,例如網頁不存在、存取遭拒,或用戶端傳送的要求過多。

5xx 伺服器錯誤

伺服器無法完成一個看似有效的要求。持續出現的 5xx 錯誤會同時擋住訪客與爬蟲。

如何解讀 HTTP 狀態碼

第一位數字代表回應的類別,後兩位數字則表示該類別中的確切意義。用戶端若無法辨識某個狀態碼,會把它當成同類別的 x00 狀態碼處理,因此未知的 4xx 狀態碼會比照 400 Bad Request 處理。

數字後面的原因短語(reason phrase),例如 Not Found 或 Moved Permanently,只是寫給人看的說明。用戶端只依數字採取行動,而 HTTP/2 與 HTTP/3 更是完全不傳送原因短語。

重新導向狀態碼速覽

  • 301 Moved Permanently:永久重新導向;瀏覽器可能會把 POST 改成 GET。網頁搬移時的預設選擇。
  • 302 Found:暫時重新導向;要求方法可能會改變。許多框架的預設值。
  • 303 See Other:暫時重新導向;一律改用 GET 前往新網址。常用於表單送出之後。
  • 307 Temporary Redirect:暫時重新導向;保留原本的要求方法與主體。
  • 308 Permanent Redirect:永久重新導向;保留原本的要求方法與主體。
  • 304 Not Modified:並非重新導向到其他網址,而是表示用戶端快取的副本仍然有效。

想知道各狀態碼的使用時機,請參閱 HTTP 重新導向狀態碼詳解。

重新導向鏈中的狀態碼

重新導向鏈是一連串的 3xx 回應,最後以一個最終回應結束。訪客或爬蟲實際拿到的只有最後一個狀態碼,因此以 404 結尾的重新導向鏈就是失效連結,不論前面的重新導向看起來多麼整齊。使用網址重新導向檢查工具即可查看每個躍點的狀態碼,或使用批次重新導向檢查一次檢查大量網址。

網址重新導向檢查

使用免費的 TrueURL 重新導向檢查工具,逐一查看網址在每個躍點回傳的狀態碼。