http-equiv =“ refresh”は、リファラー情報とメタデータを保持しますか?

StackOverflow https://stackoverflow.com/questions/2985579

質問

このようなページを設定した場合:

<html><head><meta http-equiv="refresh" content="0;url=http://internic.net/"></head><body></body></html>

ブラウザは、リダイレクトが実行されたときにリファラー情報やその他のメタデータを送信しますか?

役に立ちましたか?

解決

ここでのテストでは、FirefoxとIE しない しかし、クロム します 同じドメインに行くかどうかに関係なく、リファラーを送信します(これも一貫性がありません)。

何を述べている仕様が見つからないので見ています したほうがいい 標準的な動作であり、W3Cは一般的にメタリダイレクトを思いとどまらせます。これが一貫していることに依存できるかどうかはわかりません。

他のヒント

これで追加のテストを行いました。 3つのURIが関与していました(すべて同じドメインに):

  • /page.html メタリフレッシュへのリンクがありました
  • /refresh.html 目的地にメタリフレッシュを使用しました
  • /destination.html JavaScriptを使用して、リファラーをページに書き込みました。

いくつかのブラウザでテストを開いて実行しました page.html リンクをクリックして、リファラーが目的地にあるものを観察します。ここに結果があります:

  • インターネットエクスプローラ - リファラーはありません
  • Firefox - リファラーはありません
  • クロム - リファラー: http://example.com/refresh.html
  • サファリ - リファラー: http://example.com/refresh.html
  • オペラ - リファラー: http://example.com/refresh.html

ブラウザはどれも示しませんでした http://example.com/page.html 301または302のリダイレクトを使用して、リファラーとして。したがって、メタリフレッシュは、リファラーをあいまいにするためにある程度使用できます。

  • リンクがある特定のページを非表示にします
  • リファラーからクエリ文字列を削除します
  • サードパーティのサイトが更新をホストした場合、リンクした特定のサイトを非表示にします
  • 着信トラフィックの外部リファラーを削除します(状況で役立ちます このような)

確かに、トリックすることは可能です Firefoxインターネットエクスプローラ, 、同じリダイレクト結果を取得します 保存されたリファラー, 、延期された送信でフォームを使用するだけです。

例:

<form action="URL" method="GET" name="redirected"></form>
<script>
   setTimeout(function() {
      document.forms.redirected.submit();
   }, 1000);
</script>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top