404 Not Found! HTTPステータスコード一覧
当サイト(fragment.database.)は2013年に開設以来、10年以上ぷらら(plala)のプライベートホームページで運用してきたのですが、ぷららのプライベートホームページが2025年3月末に廃止されることとなったため、2024年8月に独自ドメイン(レンタルサーバ)に引っ越しました。
(http://www13.plala.or.jp/bigdata/ ➡️ https://fragment-database.com/)
レンタルサーバへ引っ越ししたことにより、これまでぷららのサーバ側の制約でやりたくてもできなかったhttps対応が10年越しに実現したわけですが、併せて「.htaccess」というサーバの動作を直接制御するファイルが編集可能となったことから、存在しないページにアクセスしようとした際に表示される404エラーページも自作(カスタマイズ)可能となりました。
最初は単に「Error! 404 Not Found」または「Oops! 404 Not Found」とだけ書いたシンプルなページを考えていたのですが、作るなら当サイトならではの特色を出したエラーページを作った方が良いと思い、「404 Not Found」も含む全てのエラーコードを集めた日本一情報量の多い(そして画像が全く無い...)404ページ(エラーページ)を目指して作ってみました。
が、結果的に、存在しないページにアクセスしようとした際に表示されるエラーページとして本ページ(404.html)を使用することはできませんでした。
そのあたりの顛末を別ページにまとめましたので、万が一興味がありましたらご覧下さい。
(いろいろ試行錯誤したのですが、Googleにインデックス登録されなかったため意味が無いと判断しました。)
|
皆さんもネットサーフィン(死語)をしていて「404 Not Found」だけでなく「403 Forbidden」とか「500 Internal Server Error」「401 Unauthorized」といった「3桁の数字+メッセージ」に何度か遭遇しイラッとしたことがあるのではないでしょうか。
「404 Not Found」の「404」の3桁の数字部分は「HTTPステータスコード」と呼ばれます。
先ほど「エラーコード」って書いたのですが、実はエラーの全く無い正常なページでもサーバは「200 OK」というコードをクライアントに返すので、エラーコードではなく「ステータスコード」と呼ぶのが正解です。
そのようなHTTPステータスコードについて、一体全部でどれだけの種類があるのかを調べて一覧表にしてみました。
HTTPステータスコードは、ドメイン名、IPアドレスといったインターネット全体のリソースを管理する組織である IANA(Internet Assigned Numbers Authority)により定義づけられており、過去からRFC(Request for Comments)と呼ばれる仕様書に収録され、順次拡充されてきました。
2024.9現在、実際に使用されているオフィシャルなHTTPステータスコードは全部で62種類です。
それぞれのステータスコードのRFCへの収録時期についても掲載しています。
同じコード番号でも収録時期により微妙に定義が異なるものもあります。
またRFCの原文は全部英語で定義されていますので、わかりやすいよう日本語訳(意訳)も追記しています。
|
404 Not Found! HTTPステータスコード一覧
コード | 定義(RFC) | 日本語訳(意訳) | RFC 収録 |
1xx | Informational(情報カテゴリ) |
100 | Continue | 継続中 | 1997.1 |
101 | Switching Protocols | プロトコル切替 | 1997.1 |
102 | Processing | 処理中 | 1999.2 |
103 | Early Hints | 事前のヒント | 2017.12 |
2xx | Successful(成功カテゴリ) |
200 | OK | OK(成功) | 1996.5 |
201 | Created | 作成されました | 1996.5 |
202 | Accepted | 受理されました | 1996.5 |
203 | Non-Authoritative Information | 信頼できない情報 | 1997.1 |
204 | No Content | 内容なし | 1996.5 |
205 | Reset Content | 内容のリセット | 1997.1 |
206 | Partial Content | 部分的な内容 | 1997.1 |
207 | Multi-Status | 複数のステータス | 1999.2 |
208 | Already Reported | 報告済み | 2010.4 |
226 | IM Used | インスタントメッセージ使用 | 2002.1 |
3xx | Redirection(転送カテゴリ) |
300 | Multiple Choices | 複数の選択肢 | 1997.1 |
301 | Moved Permanently | 恒久的に移動しました | 1996.5 |
302 | Found | 発見しました | 1996.5 |
303 | See Other | 他を参照して下さい | 1997.1 |
304 | Not Modified | 未更新 | 1996.5 |
305 | Use Proxy | プロキシを使用して下さい | 1997.1 |
306 | (Unused)Switch Proxy | 【廃止】プロキシ切り替え | 1999.6 |
307 | Temporary Redirect | 一時的なリダイレクト | 1999.6 |
308 | Permanent Redirect | 恒久的なリダイレクト | 2012.3 |
4xx | Client Error(クライアントエラーカテゴリ) |
400 | Bad Request | 間違ったリクエスト | 1996.5 |
401 | Unauthorized | 認証に失敗(アクセス権無し) | 1996.5 |
402 | Payment Required | 支払いが必要です | 1997.1 |
403 | Forbidden | 禁止されています | 1996.5 |
404 | Not Found | 見つかりません | 1996.5 |
405 | Method Not Allowed | 許可されていない方法です | 1997.1 |
406 | Not Acceptable | 受理できません | 1997.1 |
407 | Proxy Authentication Required | プロキシ認証が必要です | 1997.1 |
408 | Request Timeout | リクエストがタイムアウト | 1997.1 |
409 | Conflict | 競合しています | 1997.1 |
410 | Gone | 消滅しました | 1997.1 |
411 | Length Required | 長さが必要です | 1997.1 |
412 | Precondition Failed | 前提条件が間違っています | 1997.1 |
413 | Request Entity Too Large | リクエストエンティティが大きすぎます | 1997.1 |
Payload Too Large | ペイロードが大きすぎます | 2014.6 |
Content Too Large | 内容が大きすぎます | 2022.6 |
414 | Request-URI Too Long | リクエストURIが長すぎます | 1997.1 |
URI Too Long | URIが長すぎます | 2014.6 |
415 | Unsupported Media Type | サポートしていないメディアタイプ | 1997.1 |
416 | Range Not Satisfiable | レンジが満足できません | 1999.6 |
417 | Expectation Failed | 期待通りに処理できません | 1999.6 |
418 | (Unused) I’m a tea pot | 【未使用】ティーポットです (コーヒーサーバーではありません) | 1998.4.1 |
420 | (Unused) Enhance Your Calm | 【未使用】落ち着いて(焦っちゃダメ) | 未収録 |
421 | Misdirected Request | 誤ったリクエストです | 2015.5 |
422 | Unprocessable Entity | 処理できないエンティティです | 1999.2 |
Unprocessable Content | 処理できない内容です | 2022.6 |
423 | Locked | ロックされています | 1999.2 |
424 | Failed Dependency | 依存関係がまちがっています | 1999.2 |
425 | Too Early | (リクエストが)早すぎます | 2018.9 |
426 | Upgrade Required | アップグレードが必要です | 2000.5 |
427 | (Unassigned) | 【未割り当て】 | |
428 | Precondition Required | 事前条件が必要です | 2012.4 |
429 | Too Many Requests | リクエストが多すぎます | 2012.4 |
430 | (Unassigned) | 【未割り当て】 | |
431 | Request Header Fields Too Large | リクエストヘッダーフィールドが大きすぎます | 2012.4 |
451 | Unavailable For Legal Reasons | 法的理由により利用不可 | 2016.2 |
5xx | Server Error(サーバーエラーカテゴリ) |
500 | Internal Server Error | サーバ内部エラー | 1996.5 |
501 | Not Implemented | 実装されていません | 1996.5 |
502 | Bad Gateway | ゲートウェイに問題あり | 1996.5 |
503 | Service Unavailable | サービス利用不可 | 1996.5 |
504 | Gateway Timeout | ゲートウェイがタイムアウト | 1997.1 |
505 | HTTP Version Not Supported | サポートしていないHTTPバージョン | 1997.1 |
506 | Variant Also Negotiates | コンテンツネゴシエーションが失敗しました | 1998.3 |
507 | Insufficient Storage | 容量不足 | 1999.2 |
508 | Loop Detected | ループを検出 | 2010.4 |
509 | (Unassigned) | 【未割り当て】 | |
510 | Not Extended | 拡張できません | 2000.2 |
511 | Network Authentication Required | ネットワーク認証が必要です | 2012.4 |
コード | 定義(RFC) | 日本語訳(意訳) | RFC 収録 |
【激レアなステータスコード】
一度も見たことが無いステータスコードも多かったのでは無いでしょうか。
上の表には通常のwebブラウザで表示されるステータスコードだけでなく、Webサーバーを活用してファイル共有・編集ができる「WebDAV」という技術において用いられるステータスコードも含まれています。
通常のブラウザでも表示される可能性があり、かつ激レアなHTTPステータスコードは下記の2つです。
①「418 I’m a tea pot」
もともと1998年4月1日に「HTCPCP(Hyper Text Coffee Pot Control Protocol:ハイパーテキストコーヒーポット制御プロトコル)」のためのステータスコードとして提案されたエイプリルフールネタですが、実際にサーバに実装する人が続出したため、オフィシャルの418番を欠番にせざるを得なかった、という曰く付きのコードです。
今から25年以上前の話ですが、今もどこかに実装されているサーバがあるという噂です。
Googleにはイースターエッグとして実装されており、アクセスするとしっかり「418」のレスポンスが返ってきます。
②「451 Unavailable For Legal Reasons」
コード番号の「451」はレイ・ブラッドベリのSF小説『華氏451度(Fahrenheit 451)』に由来しています。
漫画以外の本が禁止され、見つかると燃やされてしまうというディストピアを描いた小説です。
著作権やプライバシーを侵害している違法なコンテンツなど、法的な理由で利用できない場合にこのステータスコードが用いられるとのことですが、そんな情報を格納しているサーバがわざわざこのコードをクライアント側に返すとも考えられず、ましてや政府による検閲の際も、検閲していること自体が明らかになるこんなコードを使うとも思えないです。
もしこのコードをネット上で見かけるようになれば、ディストピアな未来があなたのすぐ近くまで来ているのかもしれません。。。
|
|