サービスがHTTPリクエストに「3xxリダイレクト」ステータスコード応答(および付随するLocationヘッダー)で応答している場合、応答とともに意味のある応答本文を送信する必要がありますか?
ユーザーエージェントがリダイレクトを適切に処理できない場合、リダイレクトターゲットへのリンクを提供するページが役立つかもしれないと想像できますが、これが起こる可能性があると仮定するのは現実的ですか?一方、空の応答本文のみを送信することは、トラフィックを少し節約する良い機会かもしれません...
アドバイスをいただければ幸いです。
可能な限り多くのWebブラウザーをサポートするのは間違いなくイエスです。おそらく、誰かが使用しているその日に作られたWebブラウザーが1つあり、それはロケーションヘッダータグをサポートしていません。
Apacheサーバーでは、標準の301リダイレクトメッセージページに次のHTMLコードがあります。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.website.com/">here</a>.</p>
</body></html>
出力は大きな文字で永続的に移動され、新しいページへのハイパーリンクとして「here」という単語が下に「ドキュメントはここに移動しました」と表示されます。
ターゲットページへのリンクの追加は、従来、更新ヘッダーを使用してユーザーをリダイレクトするページ内で使用されます。これは最適ではなく、ユーザーに透過的な従来の301リダイレクトとは異なります。 301リダイレクトの一部としてHTMLを提供した場合、HTMLはおそらく表示されません。また、リダイレクトの可能性がある場合、.htaccess RewriteRuleを使用する場合など、この機会は存在しません。
応答本文は必要ありませんが(通常はブラウザーでは無視されます)、リンクを維持している人がリソースURLが変更された理由を知るのに役立ちます。応答本文に説明を入れると、元のページにリンクした人がリンクを更新することを願っています。
AdBlockまたは他のプラグインが原因で、ブラウザでリダイレクトが自動的に発生しませんでした。通常、リダイレクトにはクリックするものがあるページが含まれているため、これは通常は問題ではありませんでした。ページが含まれていないリダイレクトサービスがいくつかあり、面倒でした。
ほとんどのユーザーはそのコンテンツを見ることはありませんが、役に立つ場合があります。