質問

これら 2 つのプロパティの違いは何ですか?

文脈を説明すると、ResponseUri != RequestUri の場合にリダイレクトが発生するかどうかを判断しています。

URLに関係なくリダイレ​​クトが発生する間 http://adage.com/adages/article?article_id=140560 別の ResponseUri (http://adage.com/adages/post.php) アドレス (http://adage.com/adages/post?article_id=140560).

ResponseUri は Content-Location ヘッダーを取得し、Address が正しい場所を維持している間にそれを使用しているようです。

RequestUri と HttpWebRequest.Address を比較してリダイレクトを確認するのは正しいでしょうか?

役に立ちましたか?

解決

はい、request.RequestUrirequest.Addressを比較すると、移動するための方法です。少なくともモノラルするresponse.ResponseUrirequest.Addressと同じである。

他のヒント

これが古い質問であることは承知していますが、このトピックを調査中に見つけたところ、実際には正しく答えられていないことに気付きました。

その間 HttpWebRequest.Address そして HttpWebResponse.ResponseUri すべき 常に同じですが、違いは次のとおりです。

  • HttpWebResponse.Address 実際に応答しているページの URI を返します
  • HttpWebResponse.ResponseUri の値を返します Content-Location ヘッダー (存在する場合)。ドキュメントには、次の場合に何が起こるかについては明示的に記載されていません。 Content-Location ヘッダーが存在しないため、次と同じ値が使用されると想定されます。 Address.

HTTP ヘッダーは偽造される可能性があるため、Microsoft では次の使用を推奨しています。 Address の代わりに ResponseUri セキュリティ上の理由から。

http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.responseuri.aspx

あなたは偽= request.AllowAutoRedirectを設定して、リダイレクトに要求を再発行について考えたことはありますか?

私はすべてのエッジ例を確認していないが、

ウリの比較も、正常に動作する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top