http://www.website.com に<iframe>
が含まれているWebページがあるとします。このような:
<html>
<head>...</head>
<body>
...
<iframe src="http://www.washington.edu">
...
</body>
</html>
ここで、誰かがwww.website.comにアクセスし、iframe自体のリンクをクリックするとします(このリンクはwww.washington.edu Webサイトにあります)。
私の質問は、この場合のHTTPリファラーとは何ですか?
それは http://www.website.com (iframeをホストしているページ)ですか、それとも http://www.washington.ed (リンクが含まれているページ)ですかクリックされました)?
ブラウザによって異なります。
FirefoxとSafariはリファラーを http://www.website.com として報告しますが、Internet Explorerの一部のバージョンは http://www.washington.ed として表示します。リファラー。
更新2015-04:上記の最新バージョンをテストすると、すべてが返されます http://www.washington.ed
2015年8月の時点で、すべての主要なブラウザ(Safari、Chrome、Firefox)shouldはReferer
HTTPヘッダーを http ://www.washington.ed この場合。
しかしアプリケーションがReferer
値に大きく依存している場合、特定のブラウザーのバージョンが特定の場合にどのように動作するかをテストすることをお勧めします。
これを書いたのは、たとえば、Safari8が現在iframeに読み込まれたJavaScriptに対して誤ったReferer
でリクエストを行っていることがわかったためです。おそらく、このJavaScriptが以前に別のReferer
でリクエストされた場合です。これは、2014年にのみChromiumでクローズされた この特定の1つ に似たバグです。(私はすでにAppleに報告しています。)
歴史的に Internet Explorer 6は上記とは異なる動作を示しました -Referer
HTTPヘッダーを http://www.website.com に設定します。