404

Not Found

公式 サブステータスコード
ウェブサーバーは要求されたリソースを見つけられませんでした

404ステータスコードに関する一般的な説明

404 Not Foundステータスコードでは、サーバーは指定されたURLの下にリソースを見つけることができませんでした。このメッセージは、大規模なウェブサイトでもリンク構造が厳格で、404 Not Foundエラーメッセージが投げられる頻度が高いため、技術者でないユーザーの間でも最もよく知られたエラーメッセージです。

HTTPステータスコード404の仕様

404 Not Foundステータスコードは、オリジンサーバーがターゲットリソースのための現在の表現を見つけられなかったか、その存在を開示したくないことを示す。404 Not Foundステータスコードは、この欠落した表現が一時的であるか永続的であるかを示さない。オリジンサーバーが、おそらく何らかの設定可能な手段によって、その状態が永続的である可能性が高いと知っている場合、410(Gone)ステータスコードは404 Not Foundよりも優先される。404 Not Found応答は、デフォルトでキャッシュ可能である。すなわち、メソッド定義または明示的なキャッシュ制御がそうでないことを示さない限り(【RFC7234】の4.2.2節を参照)。

出典・引用元はこちら 404 Not Found HTTP Status Code は、6.5.4. のセクションで規定されています。

PHPで404ステータスコードを投げるには?

WebページでHTTPステータスコード404を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

404 HTTPステータスコードのテスト

クライアント側でHTTPステータスコード(ここでは404 Not Found)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:

ステータスコード 404 Not Found
概要
URL: https://http-statuscode.com/errorCodeExample.php?code=404
ステータス: 404 Not Found
それらの: Network
IPアドレス: XX.XX.XX.XX
ステータスコード 404 Not Found

404ステータスコードの問題を解決するにはどうすればよいですか?

ステータスコード404 Not Foundは、さまざまな理由で発生します。些細なものもあれば、もっと複雑なものもあります。最も可能性の高い理由は、URLのスペルが間違っているか、内部ページへのリンクが誤って設定されていることです。また、リンク先のページが Web サーバーから削除され、410 (Gone) などの後続のステータス コードが設定されていないことも考えられます。

しかし、もう少し複雑なエラーパターンもありえます。URL のスペルミスやリソースの削除がないことが確認されている場合、「htaccess」ファイルからのリダイレクトにも不具合がある可能性があります。

最後に考えられる可能性として、キャッシュの問題も考えられます。問題はサーバー側ですでに解決されているが、ブラウザのキャッシュがページを再読み込みせず、ローカルメモリから再読み込みしているか、Webサーバーが現在のバージョンを読み込んでいないかのいずれかである。この場合、クライアント側とサーバー側の両方でキャッシュをクリアする必要があります

ステータスコード404のエラーページを自作する方法

404 Not Foundエラーページの作成は、「Apache」「NGINX」どちらのウェブサーバーでも比較的簡単に行うことができます。

Apache Webserver

Webサーバー「Apache」は、インターネット上で最も一般的なWebサーバーの1つです。Apache」で独自の404 Not Foundエラーページを作成するためには、以下のファイルを変更する必要があります。

File: .htaccess
ErrorDocument 404 /errors/404.html

NGINX Webserver

Webサーバー「Apache」と同様に、「NGINX」もインターネット上で広く利用されています。NGINX」で独自の404 Not Foundエラーページを作成するためには、以下のファイルを変更する必要があります。

File: sites-enabled/default
error_page 404 /404.html;
location = /404.html {
    root /usr/share/nginx/html;
    internal;
}

404ステータスコードのブラウザ互換性

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

404ステータスコードにはどのようなSEO効果があるのか?

検索エンジン最適化(SEO)の世界では、404 Not Foundの「Not Found」ステータスコードは単なるエラーメッセージではありません。

ユーザーや検索エンジンのクローラーが、存在しないページにアクセスしようとして404 Not Foundエラーを返すと、検索エンジンはこれを存在しないページと解釈します。散発的な404 Not Foundエラーがあちこちにあったとしても、検索エンジンのランキングに劇的な影響を与えるとは限りません。

404 Not Foundエラーが頻繁に発生すると、検索エンジンはウェブサイトの構造やメンテナンスが不十分であることを示すものとして認識します。

404 Not Foundエラーが頻発すると、検索エンジンはウェブサイトの構造やメンテナンスが不十分であることを示す指標として認識します。そして、SEOの世界では信頼がすべてです。

また、前述したように、どのウェブサイトにもクロール予算があります。これは、検索エンジンのクローラーが一定期間に訪問するページ数を指します。404 Not Foundエラーが多すぎると、この予算のかなりの部分が存在しないページで浪費されることになります。

もう1つの重要な問題は、404 Not Foundエラーによるバックリンクの損失です。

まとめると、404 Not Foundエラーは表面的には無害に見えますが、ウェブサイトの検索エンジンランキングに深刻な影響を与えます。したがって、これらのエラーを定期的に監視して修正し、ウェブサイトが検索結果で最高の位置を維持できるようにすることが、ウェブマスターの最善の利益となります。

プログラミング言語における定数

HttpStatusCode.NotFound
http.StatusNotFound
response::HTTP_NOT_FOUND
httplib.NOT_FOUND
http.client.NOT_FOUND
http.HTTPStatus.NOT_FOUND
:not_found

HTTPステータスコード404の「クライアント・リクエスト」と「サーバー・レスポンス」の例

Client request:

GET /missingpage.php HTTP/1.1
Host: www.http-statuscode.com

Server response:

HTTP/1.1 404 Not Found
Content-Type: text/html

<html>
<head><title>404 Not Found</title></head>
<body>
<h1>Not Found</h1>
<p>The requested URL /missingpage.php was not found on this server.</p>
</body>
</html>

404 ステータスコードのサブステータスコード

サブステータスコードは純粋に技術的なものであり、決してユーザーに送信されるべきではありません。例えば、ステータスコード404.1が投げられた場合、それは記録されるかもしれませんが、ステータスコード404はユーザーに送信されます。:
404.0 Not found
HTTP IIS, 非公式
404.1 Site Not Found
HTTP IIS, 非公式
404.2 ISAPI or CGI restriction.
HTTP IIS, 非公式
404.3 MIME type restriction.
HTTP IIS, 非公式
404.4 No handler configured
HTTP IIS, 非公式
404.5 Denied by request filtering configuration
HTTP IIS, 非公式
404.6 Verb denied
HTTP IIS, 非公式
404.7 File extension denied
HTTP IIS, 非公式
404.8 Hidden namespace
HTTP IIS, 非公式
404.9 Files attribute hidden
HTTP IIS, 非公式
404.10 Request header too long
HTTP IIS, 非公式
404.11 Request contains double escape sequence
HTTP IIS, 非公式
404.12 Request contains high-bit characters
HTTP IIS, 非公式
404.13 Content length too large
HTTP IIS, 非公式
404.14 Request URL too long
HTTP IIS, 非公式
404.15 Query string too long
HTTP IIS, 非公式
404.16 DAV request sent to the static file handler
HTTP IIS, 非公式
404.17 Dynamic content mapped to the static file handler
HTTP IIS, 非公式
404.18 Querystring sequence denied
HTTP IIS, 非公式
404.19 Denied by filtering rule
HTP IIS, 非公式
404.20 Too Many URL Segments
HTTP IIS, 非公式
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, 非公式
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, 非公式
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, 非公式
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, 非公式

HTTPステータスコード404に関するミームを楽しませる

ブログ記事

HTTPステータスコード:エラーメッセージ「404 Not Found」と「410 Gone」の詳細分析

HTTPステータスコードは、ウェブブラウザとウェブサーバ間の通信の基礎を形成するハイパーテキスト転送プロトコル(HTTP)の重要な部分です。ステータスコードによって、HTTP リクエストとレスポンスのステータスが...

SEOとHTTPステータスコード包括的な分析

検索エンジン(SEO)のためにウェブサイトを最適化することは、複雑な仕事です。見落とされがちですが、良いランキングのために重要な側面の1つがHTTPステータスコードです。この小さな3桁のコードは、ユーザーや...

著者: Tony Brüser
著者: Tony Brüser

トニー・ブリュザーは、HTTPステータスコードにこだわりのある熱心なウェブ開発者だ。

LinkedInGitHub