TrueURL
TrueURL

選單

428 需要先決條件

伺服器要求以條件式要求(If-Match)送出,以免多個用戶端編輯同一資源時發生更新遺失。

原因短語
Precondition Required
是否為重新導向
否
預設可快取
否

428 Precondition Required(RFC 6585)表示原始伺服器要求這個要求必須是條件式的。它用來防止「更新遺失」問題:用戶端讀取資源、加以修改,再以 PUT 寫回,結果覆寫了其他人在這段期間所做的變更。

伺服器以 428 回應非條件式的寫入,強制用戶端傳送 If-Match,並附上它讀取到的 ETag。如果資源已經變更,條件式要求就會以 412 Precondition Failed 失敗,而不會悄悄覆寫資料。回應中應說明如何成功地重新送出要求。

回應範例

HTTP
HTTP/1.1 428 Precondition Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 71

{"error":"Send If-Match with the current ETag to update this resource"}

SEO 與重新導向檢查

對 SEO 沒有影響:428 適用於 API 與協作編輯中的寫入要求,爬蟲的 GET 要求不會觸發它。

常見原因與使用情境

  • API 要求 PUT、PATCH 或 DELETE 必須帶有 If-Match,但用戶端沒有傳送。
  • 協作文件服務強制執行樂觀鎖定。
  • 不支援 ETag 的用戶端程式庫與這類 API 互動。

網址重新導向檢查

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