409エラー 【HTTP 409 Conflict】

概要

409エラー(HTTP 409 Conflict)とは、Webサーバで起きるエラーの種類の一つで、リクエストされた操作がサーバの内部状態と競合して実行できないことを示すもの。

WebサーバとWebブラウザなどのクライアントの間ではHTTPHypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示すHTTPステータスコードを通知する。

ステータスコードの400番台はクライアントに起因するエラーを表しており、409番のエラーメッセージは “Conflict” (競合)である。クライアントから要求された操作がサーバの現在の状態と矛盾するため実行できないことを示している。

例えば、PUTメソッドでアップロードされたファイルがサーバ上に既に存在し、サーバ側の方が内容が新しく上書きするのが適切でない場合や、同じ資源に複数のクライアントが同時にアクセスしており、クライアント間で編集の競合が発生した場合などに送られることがある。

(2024.8.23更新)

HTTPステータスコード一覧

*1 302はHTTP/1.0では「Moved Temporarily」だった。
*2 413はHTTP/1.1では「Request Entity Too Long」、RFC 7231では「Payload Too Long」だった。
*3 414はHTTP/1.1では「Request-URI Too Long」だった。
*4 416はHTTP/1.1では「Requested Range Not Satisfiable」だった。
*5 418は1998年エイプリルフールのジョークRFC 2324で「I'm a teapot」として定義されていた。