標準の404ページはいつ表示されますか?
-
03-07-2019 - |
質問
プロジェクト用の単純なHTTPサーバーを構築しています。 ほとんどのWebサイトには、カスタム404エラーページがあります。ただし、Firefoxが一般的な404ページ(または405など)を吐き出すことがあります。 何をすべきかをどのように決定しますか? HTTPレスポンスはどうあるべきですか? 「HTTP / 1.0 404 NOT FOUND」とは十分ですか?
ありがとう
解決
そのため、ほとんどの場合、Firefoxは一般的な404エラーページを表示しません。 Internet Explorerについて考えています。InternetExplorerは、特定のサイズよりも小さく、独自のWebページを表示する場合、Webサイトの404ページを無視します。
他のヒント
リクエストされたリソース(ウェブページなど)が見つからない場合、サーバーはHTTPヘッダーセクションで HTTP / 1.0 404 NOT FOUND を送信します。
サーバーはこのエラーのエラーページをマッピングできるので、読みやすいエラーページを取得できます。 ブラウザは独自のエラーページをマッピングすることもできます。ブラウザ固有のエラー404メッセージを表示できます。
エラーコードは、ログファイルのステータスフィールドで確認できます。
ユーザーを次の構造の特定のページにリダイレクトする:
<HTML>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="5; URL=not404.htm">
</head>
</HTML>
の詳細をご覧ください。 404応答コードでhtml本文を返すことは完全に有効です。本文が指定されていない場合、ブラウザにはデフォルトのページが表示されます。
- HTTP / 1.0 404 NOT FOUND のみを送信すると、ブラウザのデフォルトが表示されます。
- 応答に本文を追加すると、ブラウザはほとんどそれを使用します。
HTTPサーバーを作成している場合は、プロトコルを説明するRFCをご覧ください。 http://www.faqs.org/rfcs/rfc2616.html
404ステータスコードの場合:
サーバーは何も見つかりませんでした Request-URIに一致します。いいえ
かどうかの指示が与えられます 条件は一時的または
永久的。 410(Gone)ステータスコード サーバーが知っている場合に使用する必要があります。 いくつかの内部構成可能 メカニズム、古いリソースが 永久に利用できず 転送先のアドレス。このステータス サーバーが一般的に使用されるコード 正確な理由を明らかにしたくない リクエストが拒否されたとき、または 他の応答は適用されません。
ブラウザが各ステータスコードを処理する方法を制御することはできません。その優れた動作に依存する必要があります。
とはいえ、既存のHTTPサーバーのいずれかを使用することでメリットが得られる場合があります。数日前に投稿されたCまたはC ++でHTTPサーバーを作成する方法については、この質問をご覧ください。
通常はウェブサーバーで設定します。つまり、サーバーが404を取得したら、このページを参照します。