404

状態符号 404 (HTTP)

[419] 404 (Not Found) は、対象資源が存在しないか、存在を明確にしたくないことを表します。

仕様書

意味

[416] 404 は、起源鯖対象資源の現在の表現を見つけられなかったか、 その存在を明らかにしたくないことを表します >>414

[412] 起源鯖は、対象資源の存在をも隠したいときは、 403 ではなく 404 を使っても構いません >>413

[417] 404 は、対象資源表現の不存在が一時的なものか、 永続的なものかは示しません。永続的なものであろうと起源鯖が分かっている時は、 410 がより好ましいです >>414

文脈

[2] PROPFIND 要求に対する応答multistatus 要素中の status では、指定された特性が存在しなかったことを表すために使います >>1

[3] LNR対象資源である時、特定の要求メソッド以外では 405 応答を返すことができます >>4

[6] PATCH 要求対象資源が存在しない時、 新しい資源を作成しても構いませんが、 404 応答を返すこともできます >>5

処理

[418] 404 応答は、キャッシュ可能です >>414

歴史

[415] RFC 1945 (HTTP/1.0); RFC 2068 & 2616 (HTTP/1.1) 10.4.5 404 Not Found

The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.

サーバーは Request-URI と一致するものを見つけられませんでした。 条件が一時的なものか永続的なものかの案内はありません。

{1945,2068} If the server does not wish to make this information available to the client, the status code 403 ({1945} forbidden Forbidden) can be used instead. {2068,2616} The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. {2616} This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

;サーバーがこの情報をクライアントに知らせたくないと思うのであれば、代わりに状態符号 403 (禁止) を使うことができます。 何らかの内部的な設定機構によって、古い資源が永続的に利用不能となり、転送番地もないとサーバーが知っている時には、 410 (逝去) 状態符号を使用するべきですこの状態符号 (訳注) 404 は、要求を拒否する実際の理由を晒したくないとサーバーが思っている時や、他の応答が適当でない時に広く使われています。

[411] RFC 7252 - The Constrained Application Protocol (CoAP) ( ( 版)) <http://tools.ietf.org/html/rfc7252#section-5.9.2.5>

[420] RFC 3507 - Internet Content Adaptation Protocol (ICAP) ( ( 版)) <http://tools.ietf.org/html/rfc3507#section-4.3.3>

[7] 「404」は部屋番号だった? 「Not Found」エラーにまつわる噂の真偽を、「生みの親」に聞いてみた|WIRED.jp () <https://wired.jp/2018/01/25/history-of-the-404-error/>

「404という数字は実は404号室に由来している」「その部屋は世界初のウェブサーヴァーが置かれたところで、スイスの欧州原子核研究機構(CERN)内にある」「ワールド・ワイド・ウェブ(WWW)を考案したティム・バーナーズ=リーがその部屋にオフィスを構えた」「彼はしょっちゅう行方をくらましていた」──といった具合だ。

こうしたエピソードに「やれやれ」とため息をつくのは、ロバート・カイリューである。バーナーズ=リーとともにWWWを開発したひとりで、ハイパーテキスト構造をつくり、のちにウェブへと進化させた人物だ。

そこでカイリューに、404エラーについてコメントを求めてみた。すると彼は「つまらない話」と一蹴し、気乗りしない様子で「そんな伝説はでたらめだ」と頑として譲らなかった。