2

誰かがhttp://www.example.com/page-that-never-existed-nor-will-ever-existのようなページを要求するとき、404 よりも良い選択があるのだろうか(「これまで」は予見可能な将来を意味する)しかし、すべての意図と目的のために: 決して決して)。

たとえば、一部の「賢い」クローラーが、Web サイトまたは Web 上の他の場所で遭遇した構造に基づいて存在する可能性があると考えるページの要求を受け取ります。それらはスペルミスではありませんが、どこにも導くことができないと私が知っている要求です

301 Moved Permanently何も移動しておらず、移動する論理的な宛先がないため、使用したくありません。そもそも無かったから使いたくない410 Gone

404 Not Foundまた、「見つかりません、何が起こったのですか? 誰が知っていますか?」だけでなく、「存在しません」というメッセージを本当に伝えたいという理由よりも、より適切なものが必要です。ユーザーエージェントに、もう一度要求するのは時間の無駄だとどのように伝えることができますか?

HTTP 1.1に 基づいて404 Not Found、定義が「または他の応答が適用されない場合」で終わるため、最も正しいオプションのように思えますが、私はそれに完全に満足していません。他のアイデアはありますか?

4

1 に答える 1

1

403 Forbidden を考えたことはありますか? 探しているもののように聞こえますが、リソースが存在しないことをクライアントに伝えるメッセージを応答の本文に含めることができます。

サーバーは要求を理解しましたが、要求を満たすことを拒否しています。承認は役に立たず、要求を繰り返すべきではありません。リクエスト メソッドが HEAD ではなく、サーバーがリクエストが実行されなかった理由を公開したい場合、拒否の理由をエンティティに記述する必要があります。サーバーがこの情報をクライアントに提供したくない場合は、代わりにステータス コード 404 (Not Found) を使用できます。

于 2013-01-08T16:27:23.913 に答える