HTTP 404

ページは半保護されています

HTTP において、404レスポンスステータスコードは、ウェブクライアント(ブラウザなど)がサーバーと通信できたものの、サーバーが要求されたリソースを提供できなかったことを示します。サーバーはリソースを保有していないか、保有しているかどうかを開示したくない可能性があります。[ 1 ]このコードは、多くの場合、レスポンス理由「Not Found」に関連付けられており、 「ページが見つかりません」または「ファイルが見つかりません」とも呼ばれます。

多くの場合、サーバーは該当の条件に対応するウェブページを生成し、クライアントはそれを表示します。そのコンテンツにはエラーコードが示されることが多いです。この条件は比較的頻繁に発生するため(例えば、リンク切れやデッドリンクなど)、このコードはワールドワイドウェブ上で最もよく認識されるものの1つです。

英語版Wikipediaの404ページ

概要

HTTP通信では、サーバーはWebブラウザからのWebページ要求などの要求に対し、数値の応答コードと、ステータスコードに基づいてオプション、必須、または許可されないメッセージで応答する必要があります。404コードの最初の数字は、Uniform Resource Locator(URL)の入力ミスなどのクライアントエラーを示します。次の2桁は、発生したエラーを示します。HTTPにおける3桁のコードの使用は、FTPNNTPなどの以前のプロトコルにおける同様のコードの使用と同様です。HTTPレベルでは、404応答コードの後に​​は、人間が判読できる「理由フレーズ」が続きます。HTTP仕様では「見つかりません」というフレーズ[ 1 ]が推奨されており、多くのWebサーバーはデフォルトで404コードと「見つかりません」というフレーズの両方を含むHTMLページを発行します。

404エラーは、ページが移動または削除されたときによく返されます。前者の場合は、URLマッピングまたはURLリダイレクトを使用して301 Moved Permanentlyレスポンスを返す方が適切です。これは、ほとんどのサーバー設定ファイルで設定できます。あるいはURL書き換えによっても設定できます。後者の場合は、410 Goneレスポンスを返すべきです。これらの2つのオプションは特別なサーバー設定を必要とするため、ほとんどのウェブサイトでは利用されていません。

404エラーは、指定されたURLが存在しないサーバー名を参照している場合に表示されるDNSエラーと混同しないでください。404エラーは、サーバー自体は見つかったものの、要求されたページを取得できなかったことを示します。

ソフト404エラー

一部のウェブサイトでは、「見つかりません」というエラーを、通常のウェブページを「200 OK」というレスポンスコードで返すことで報告します。これは、ページが正常に読み込まれたという誤った報告です。これはソフト404と呼ばれます。「ソフト404」という用語は、2004年にZiv Bar-Yossefによって導入されました。[ 2 ]

ソフト404は、リンク切れを自動的に検出する手法では問題となる。YahooやGoogleなどの一部の検索エンジンは、ソフト404の検出に自動プロセスを使用している。[ 3 ]ソフト404は、 Apacheソフトウェアなどの特定のHTTPサーバーソフトウェアの使用時に、エラードキュメント404(.htaccessファイルで指定)が相対パス(/error.html)ではなく絶対パス(例:http://example.com/error.html)で指定されている場合など、設定エラーが原因で発生することがある。[ 4 ]これは、一部のブラウザ( Internet Explorerなど)で、ブラウザ固有の「わかりやすい」エラーメッセージではなく、カスタマイズされた404エラーメッセージを表示させるために意図的に行われることもある(Internet Explorerでは、404が返され、受信したHTMLが一定の長さより短い場合にこの動作がトリガーされ、ユーザーは手動で無効にすることができる)。

また、コンテンツがステータス 200 で返されるものの、欠落しているページがドメイン ルート/ホームページにリダイレクトされる場合など、リダイレクトされたページからのものである「ソフト 3XX」エラーもあります。

プロキシサーバー

一部のプロキシサーバーは、500番台のエラーコードの方が適切な場合でも、404エラーを生成します。プロキシサーバーがリモートホストの問題(ホスト名解決の失敗やTCP接続の拒否など)によりページへのリクエストを処理できない場合、これは5xx内部サーバーエラーとして記述されるべきですが、実際には404エラーが返される可能性があります。これにより、特定のレスポンスを期待してそれに基づいて動作するプログラムが混乱する可能性があります。なぜなら、Webサーバーが存在しないのか、Webサーバーは存在するのにWebページが見つからないのかを容易に区別できなくなるからです。

意図的な404

2004年7月、英国の通信事業者BTグループは、 Cleanfeedコンテンツブロッキングシステムを導入しました。このシステムは、インターネットウォッチ財団によって違法の可能性があると特定されたコンテンツへのリクエストに対して404エラーを返します。[ 5 ]他のISPも同様の状況でHTTP 403 「禁止」エラーを返します。 [ 6 ]検閲を隠蔽する手段として偽の404エラーを使用する慣行は、タイ[ 7 ]チュニジアでも報告されています。[ 8 ] 2011年の革命以前から検閲が厳しかったチュニジアでは、人々が偽の404エラーの性質に気づき、「見えない検閲官」を表す「Ammar 404」という架空のキャラクターを作成しました。[ 9 ]

Microsoft インターネット サーバー 404 サブステータス エラー コード

Microsoft が開発した Web サーバー ソフトウェアであるMicrosoft Internet Information Services (IIS) は、404 レスポンスとともにサブステータス コードのセットを返します。サブステータス コードは、404 ステータス コードに 10 進数の数値が付加された形式です。サブステータス コードはIANAによって正式には認識されておらず、Microsoft 以外のサーバーからは返されません。

サブステータスコード

Microsoft の IIS 7.0、IIS 7.5、および IIS 8.0 サーバーは、404 エラーのより具体的な原因を示すために、次の HTTP サブステータス コードを定義します。

  • 404.0 – 見つかりません。
  • 404.1 – サイトが見つかりません。
  • 404.2 – ISAPIまたはCGI の制限。
  • 404.3 – MIMEタイプの制限。
  • 404.4 – ハンドラーが構成されていません。
  • 404.5 – 要求フィルタリング構成によって拒否されました。
  • 404.6 – 動詞が否定されました。
  • 404.7 – ファイル拡張子が拒否されました。
  • 404.8 – 非表示の名前空間。
  • 404.9 – ファイル属性が非表示です。
  • 404.10 – リクエスト ヘッダーが長すぎます。
  • 404.11 – リクエストに二重のエスケープ シーケンスが含まれています。
  • 404.12 – リクエストにハイビット文字が含まれています。
  • 404.13 – コンテンツの長さが長すぎます。
  • 404.14 – リクエスト URL が長すぎます。
  • 404.15 – クエリ文字列が長すぎます。
  • 404.16 – DAV 要求が静的ファイル ハンドラーに送信されました。
  • 404.17 – ワイルドカード MIME マッピングを介して静的ファイル ハンドラーにマップされた動的コンテンツ。
  • 404.18 – クエリ文字列シーケンスが拒否されました。
  • 404.19 – フィルタリング ルールによって拒否されました。
  • 404.20 – URL セグメントが多すぎます。

カスタムエラーページ

ウィキメディアの404メッセージ

ウェブサーバーは通常、より自然な説明、親サイトのブランディング、場合によってはサイトマップ、検索フォーム、または404ページウィジェットを含むカスタマイズされた404エラーページを表示するように設定できます。ユーザーには表示されないプロトコルレベルのフレーズは、ほとんどカスタマイズされません。ただし、 Internet Explorerは、512バイトを超えるカスタムページを表示せず、代わりに「フレンドリー」なエラーページを表示します。[ 10 ] Google Chromeにも同様の機能があり、ページサイズが512バイト未満の場合は、404エラーがGoogleアルゴリズムによって生成された代替候補に置き換えられます。[ 11 ]もう1つの問題は、ページにファビコンがなく、別途カスタム404ページが存在する場合、ページを表示するたびに余分なトラフィックが発生し、読み込み時間が長くなることです。[ 12 ] [ 13 ]

多くの組織は、本来は真面目なウェブサイトにユーモアを注入する機会として404エラーページを利用しています。例えば、Metro UKはスケートボードに乗ったホッキョクグマを表示し、ウェブ開発会社Left Logicはシンプルな描画プログラムを提供しています。[ 14 ] 2015年の英国総選挙キャンペーン中、主要政党はすべて404ページを使用して、政敵を攻撃したり、潜在的な支持者に関連政策を示したりしました。[ 15 ]ヨーロッパでは、Missing Children EuropeChild Focusなど複数のヨーロッパ組織によって作成されたNotFoundプロジェクトが、サイト運営者に対して、行方不明の子供に関するデータを提供するカスタマイズされた404エラーページを提供するためのコードスニペットを追加することを奨励しています。[ 16 ] [ 17 ]

多くのウェブサイトは404エラーメッセージで、ウェブサイトのホームページへのリンクや検索ボックスなどの追加情報を送信しますが、ユーザーが探している正しいウェブページを見つけようと試みるウェブサイトもあります。一部のコンテンツ管理システム(CMS)には、これを行うための拡張機能が用意されています。 [ 18 ]

404エラーの追跡

ウェブサイトをクロールして404ステータスコードを返すページを見つけるツールは数多く存在します。これらのツールは、特定のウェブサイト内に存在するリンクを見つけるのに役立ちます。しかし、これらのツールの限界は、特定のウェブサイト内のリンクしか見つけられず、他のウェブサイトへのリンクから発生する404エラーを無視してしまうことです。その結果、これらのツールはウェブサイト上の404エラーの83%を見逃してしまいます。[ 19 ]この問題を回避する方法の一つは、外部リンクを分析することで404エラーを見つけることです。[ 20 ]

404 エラーを発見する最も効果的な方法の 1 つは、Google Search ConsoleGoogle Analytics、またはクロール ソフトウェアを使用することです。

もう一つの一般的な方法は、ログファイル分析を用いて404ページへのトラフィックを追跡することです。[ 21 ]これは、404ユーザーがサイト上でどのページにアクセスしたかをより深く理解するのに役立ちます。404ページへのトラフィックを追跡するもう一つの方法は、JavaScriptベースのトラフィック追跡ツールを使用することです。[ 22 ]

参照

参考文献

  1. ^ a b Fielding, R; Reschke, J, 編 (2014年6月). 「404 Not Found」 . HTTP/1.1 セマンティクスとコンテンツ. インターネット技術タスクフォース (IETF). sec. 6.5.4. doi : 10.17487/RFC7231 . S2CID  14399078. RFC 7231. 2018年12月13閲覧.
  2. ^ Ziv Bar-Yossef、Andrei Z. Broder、Ravi Kumar、Andrew Tompkins (2004). 「Sic transit gloria telae」.第13回国際ワールドワイドウェブ会議議事録. pp.  328– 337. doi : 10.1145/988672.988716 . ISBN 978-1581138443. S2CID  587547 .
  3. ^ 「なぜクローラーは私のサイトに存在しない奇妙なURLを要求するのですか?」 Yahoo! Searchヘルプページ。2014年7月15日時点のオリジナルよりアーカイブ。 2013年9月4日閲覧
  4. ^ 「ソフト404に別れを告げよう」。Google公式ブログ2008年9月20日閲覧。
  5. ^ 「LINX Public Affairs » Cleanfeed: the facts」 . Publicaffairs.linx.net. 2004年9月10日. 2011年5月13日時点のオリジナルよりアーカイブ。 2011年3月6日閲覧
  6. ^ 「DEMON – エラー 403」 。 2012年6月14日閲覧
  7. ^ Sambandaraksa, Don (2009年2月18日). 「古くからある偽の『404 Not Found』ルーチン - デッドリンク」 Bangkok Post . 2010年9月12日閲覧
  8. ^ Noman, Helmi (2008年9月12日). 「チュニジア人ジャーナリスト、Facebookをブロックしたとして政府機関を訴え、403エラーメッセージではなく404エラーメッセージの使用による損害を主張」 Open Net Initiative . 2010年11月21日閲覧
  9. ^ 「チュニジアの反検閲運動:創造性、勇気、そして希望!」 Global Voices Advocacy. 2010年5月27日. 2010年8月28日閲覧
  10. ^ 「Friendly HTTP Error Pages」 . msdn.com. 2010年8月18日. 2010年12月2日時点のオリジナルよりアーカイブ。 2012年6月14日閲覧
  11. ^ 「問題1695: Chromeに「フレンドリー404」の表示をオフにするオプションが必要」 bugs.chromium.org . 2021年12月25日閲覧
  12. ^ Heng, Christopher (2008年9月7日). 「Favicon.icoとは何か、そしてウェブサイト用のファビコンアイコンを作成する方法」 . The Site Wizard . 2011年2月23日閲覧
  13. ^ 「卑劣な「favicon.icoが見つかりません」エラー」インターネットフォークス。1999年8月3日。
  14. ^ 「スケートボードをするクマから行方不明の子供たちまで:404 Not Foundエラーページの威力」 Metro、2011年6月6日。 2013年4月16日閲覧
  15. ^ 「政治的戦争」 BBCニュースビート、2015年4月27日。 2018年5月18日閲覧
  16. ^ "Notfound.org" . notfound . 2014年9月2日時点のオリジナルよりアーカイブ
  17. ^ 「行方不明の子供たちのメッセージは404エラーページに」 BBCニュース、2012年9月27日。 2014年9月20日閲覧
  18. ^ Swenson, Sahala (2008年8月19日). 「404ページをより便利に」 .公式Googleウェブマスターセントラルブログ. Google, Inc. 2009年8月28日閲覧
  19. ^ 「404エラーの原因となる情報源」 SpringTrax . 2013年2月11日閲覧
  20. ^ Cushing, Anne (2013年4月2日). 「保存する価値のある404ページを特定するためのデータ中心のアプローチ」 Search Engine Land . 2013年6月7日閲覧
  21. ^ 「404エラーの追跡と防止」 404errorpages.com 2013年6月7日閲覧
  22. ^ 「404エラーを理解する」 SpringTrax.com 。 2013年6月7日閲覧