HTTPの301と302の違いは何ですか?


9

サイトが使用しているようなすべてのtinyurlを確認します 302

しかし、違いは何ですか?両方が私のために働いているようです

回答:


12

301(完全に移動)ステータスは、リソースが新しい場所に完全に移動されたことを意味します。クライアント(ブラウザ)は将来、古い場所ではなく新しい場所を使用する必要があります。

302(found)ステータスは、リソースが一時的に別の場所にあることを意味します。クライアントは現在のリクエストに指定された場所を使用する必要がありますが、将来は古い場所を引き続き使用する必要があります。

どちらのステータスコードも、ブラウザがリダイレクトをたどる効果があります。リダイレクトが永続的か一時的かによって、301または302ステータスを使用することを選択する必要があります。

これらのHTTP応答コードの詳細については、RFC 2616を参照してください


301 をキャンセルしたい場合はどうなりますか?
2010

@vps 301リダイレクトをキャンセルできますが、クライアントが元のURLを再リクエストする保証はありません。あなたが将来的にリダイレクトをキャンセルすることができるようにしたい場合は、302使用の方が良いかもしれ
フィル・ロス

3

検索エンジンスパイダーがWebページの応答ヘッダーで301ステータスコードを検出すると、このWebページが存在しないことを理解し、応答でロケーションヘッダーを検索して新しいURLを選択し、インデックス付きURLを新しいものに置き換えて、ページランクも転送します。 。

したがって、検索エンジンは、存在しない(301が検出された)インデックスに登録されたすべてのURLを新しいURLで更新します。これにより、古いWebページのトラフィック、ページランクが保持され、新しいWebページに転送されます(古いWebページのトラフィックが失われることはありません)。

ブラウザー:ブラウザーが301ステータスコードを検出した場合、古いURLと新しいURLのマッピングをキャッシュします。クライアント/ブラウザーは、元の場所を要求しようとせず、キャッシュが削除されるまで新しい場所を使用します。

検索エンジンスパイダーがウェブページの302ステータスを検出すると、一時的に新しい場所にリダイレクトして両方のページをクロールします。古いウェブページのURLは検索エンジンデータベースにまだ存在し、常に古い場所をリクエストしてクロールしようとします。クライアント/ブラウザは引き続き元の場所を要求しようとします。

asp.net c#に実装する方法と、検索エンジンにどのような影響があるかについての詳細を ご覧ください-http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.