DevToolPal
日本語
4xx クライアントエラー

428 Precondition Required

前提条件が必要

意味

更新の消失を防ぐため、サーバーはリクエストが条件付き(If-Match など)であることを求めています。

よくある原因

  • 楽観的ロックを強制する API に If-Match なしで PUT や PATCH を送った

対処法

クライアント・閲覧者の場合

リソースを GET して ETag を取得し、更新時に If-Match で送ります。

サイトや API の運営者の場合

どのヘッダーが必要かをボディで説明します。

レスポンス例

HTTP/1.1
HTTP/1.1 428 Precondition Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Precondition Required",
  "status": 428,
  "detail": "Send If-Match with the ETag you last read."
}

仕様

RFC 6585 §3

よくある質問

› API が If-Match を要求するのはなぜ?

2 つのクライアントが気づかないうちに互いの変更を上書きするのを防ぐためです。

› 428 と 412 の違いは?

428:前提条件が送られていない。412:送られたが成り立たなかった。