5

参照ページが安全なプロトコルで転送された場合、クライアントRefererは (非安全な) HTTP 要求にヘッダー フィールドを含めるべきではありません。 https://www.rfc-editor.org/rfc/rfc2616#section-15.1.3

標準によれば、https://google.comRefererは安全でないサイトにヘッダーを送信すべきではありませんが、送信しています。他の HTTPS サイトはRefererヘッダーを HTTP サイトに送信しますか?

これらのテストはすべて、Chrome v33.0.1750.117 を使用して行われます。

テストを実行するには、最初のページに移動し、コンソールを開き、次を使用して手動でリダイレクトを行いますlocation = "http://reddit.com"

RefererGoogle はヘッダーを保持するために何か特別なことをしていますか? Refererヘッダーを保持する HTTPS サイトのリストはありますか? Refererヘッダーが削除される他のケースはありますか?

4

3 に答える 3

10

Google Chrome で Google 検索を行うと、次のタグが検索結果に表示されます。

<meta content="origin" id="mref" name="referrer">

この値は、 fromに移動するときにoriginを完全に省略する代わりに、サイト内の正確なページではなく元のドメイン名を提供する必要があることを意味します (たとえば、検索文字列は非公開のままになります)。Refererhttphttps


一方、ロブスターのようなリンク アグリゲーターには次の機能があり、リンク ストーリーは公開されているため、(Chrome や Safari などのブラウザーによって) URL 全体が確実alwaysに提供されます。Referer

<meta name="referrer" content="always" />

2014 年半ばの時点では、これmeta[@name="referrer"]は HTML5 向けに提案された機能にすぎず、たとえば Gecko では実装されていないようです。Chrome と Safari のみがサポートしていると主張されています。

http://smerity.com/articles/2013/where_did_all_the_http_referrers_go.html

https://bugzilla.mozilla.org/show_bug.cgi?id=704320

http://wiki.whatwg.org/wiki/Meta_referrer

于 2014-07-13T03:22:47.720 に答える
5

cnst は上記でこれに正しく答えます。content="origin" です。これにより、HTTPS->HTTPS および HTTPS->HTTP に移行するブラウザは、リクエスト ヘッダーを持つようになります。

http-referer=https://www.google.com  

この機能により、サイトは URL パラメータを第三者に漏洩することなく、トラフィックのクレジットを得ることができます。過去に人々がここで使用していたものよりもハックが少ないので、それは素晴らしいです.

現在、これには 3 つの競合する仕様があります。どちらが信頼できるものかはわかりませんが、混在していると思われます。ほとんどの点で似ています。

私が知っている利用可能なサポートは次のとおりです。私が間違っているか、何か不足している場合は、人々に知らせてもらいたいです。

今:

  • Chrome 17+ はデスクトップでこれをサポートします
  • モバイル デバイス向け Chrome 25 以降
  • iPad および iPhone の Safari 6

不明なバージョン:

  • デスクトップ Safari 7 はこれをサポートしています。以前のバージョンではサポートされる可能性がありますが、確認できるブラウザがありません。

近日公開予定:

于 2015-04-08T03:48:13.833 に答える
2

Googleが使用しているためだと思います

<meta name="referrer" content="always">

そのため、ユーザーが HTTPS から HTTP サイトに移動すると、リファラーが保持されます。そうしないと、これがないとリファラーが取り除かれます。

于 2014-02-20T23:48:20.967 に答える