ほとんどの場合、HTTP-301ステータスコード(「Moved Permanently」)が使用されても、ASP/ASP.NET Response.RedirectがHTTP-302ステータスコード(「Moved Temporarily」) )より適切でしょうか?Response.Redirect HTTPステータスコード
答えて
ステータス301のレスポンスはキャッシュ可能であると考えられています。ほとんどのASP/ASP.NETリダイレクトでその動作をしたくないと思います。
ASP.NET 4.0には、必要に応じてRedirectPermanentメソッドがあります。
Response.Redirect
のよくある使用例の1つは、ユーザーをポストバック後のサーバーサイドコードの別のページに移動することです。
private void MyButton_Click(object sender, EventArgs e)
{
if (some condition) {
Response.Redirect("ShowProduct.aspx");
} else {
Response.Redirect("SorryOutOfStock.aspx");
}
}
これらの場合、301は完全に間違っています。実際、上記のケース(一部のUIインタラクションの後でユーザーを別のページに条件付きで移動)は、よりももっと一般的な使用であると思われます。このページ移動された別のURL永遠のシナリオ301の戻りコードが適切な場合)。
Heinziからの回答に加えて、301の多くを気付く可能性が高いWeb上の唯一のエンティティは、検索エンジンです。ほとんどのブラウザは、最初のURLの後続のリクエストを自動的にリダイレクトするために、301を追跡して記録しません。ブラウザは301を302と同じように扱います。したがって、ASP.NETで生成されるような動的コンテンツの302は非常に適切です。
はい、それは私が心配している検索スパイダーです。 – Vinz
私は成功を収めて、この便利な恒久的なリダイレクトを使用しました:
public void RedirectPermanent(string newPath)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", newPath);
HttpContext.Current.Response.End();
}
私もthisoneを使用していますが、なぜこの "回避策"を行わなければならないのか不思議でした。 – Vinz
あなたが取得しているエラーはResponse.Redirectをするためではありません!
恒久的に移動し、HTTP応答ステータスコード301は、301応答のLocationフィールドで提供される新しいURLに更新しなければならないために受信される永久レスポンス移動URLを使用して、現在のリンクやレコードを意味し、永続的にリダイレクトするために使用されています。
回答がすべてhttp://onfrnz.com/searchへの投稿リンクを残していないと良いでしょう。ちょっとスパムです。ありがとう。 – Kev
- 1. PUTのHTTPステータスコード
- 2. Httpステータスコード413
- 3. ボットフレームワークHTTPステータスコードInternalServerError
- 4. HTTP 1xxのステータスコード
- 5. 502 HTTPステータスコード
- 6. HTTPステータスコード200 vs 202
- 7. セッションタイムアウト時のHTTPステータスコード
- 8. Internet ExplorerインターネットエラーHTTPステータスコード
- 9. 「ロード中」のHTTPステータスコード
- 10. SpringのカスタムHttpステータスコード
- 11. HTTPステータスコード404 spring mvc
- 12. HTTPステータスコードとDNSラウンドロビン
- 13. 適切なHTTPステータスコード
- 14. HTTPエラーをHttpに変換するステータスコード
- 15. REST APIのHTTPステータスコードのベストプラクティス
- 16. 角度2のhttpステータスコード401
- 17. 非同期タスクのHTTPステータスコード
- 18. Rest API HTTPステータスコードを返す
- 19. PHP/JSON HTTPステータスコードのリスト
- 20. AngularJS - ステータスコード302のHTTP GETリクエスト
- 21. REST:404 HTTPステータスコードのマッピング
- 22. 不正なデータのHTTPステータスコード
- 23. MeteorJSでHTTPステータスコードを取得
- 24. のHttpステータスコード400対412
- 25. 限定コレクションのHTTPステータスコード?
- 26. 300 HTTPステータスコードを扱う
- 27. Python:HTTPステータスコードからHTTPステータスメッセージへ
- 28. 登録されたステータスコード以外のカスタムHTTPステータスコード
- 29. Response.Redirect
- 30. Asp.NET Web APIのクライアントサイドのHTTPステータスコード(JavaScript)
+1 RedirectPermanentについて教えてください。 – Heinzi
ASP.NET 4.0に付属の新しいRedirectPermanentメソッドは、非常に便利です!残念ながら、私が取り組んでいるプロジェクトは2.0を実行しています... – Vinz