Quantcast
Channel: Web担当者Forum
Viewing all articles
Browse latest Browse all 19485

meta name="referrer"は、HTTPS→HTTPでもリファラを出す新しい仕様 | 編集長ブログ―安田英久 | Web担当者Forum

$
0
0

今日は、ちょっと技術的な話を。「meta referrer」という、リンクをクリックしてページ移動するときなどにリファラをどう送るかを、ページ側で指定できるタグの実装が進んでいるのです。

グーグルはHTTPSを推奨するけれども、リファラが……

グーグルは、サイトがHTTPSかどうかを順位決定の要因とするなど、HTTPSを推奨しています。

でも、自分のサイトをHTTPSにすると、自分のサイトから非HTTPS(ふつうのHTTP)のサイトへのリンクをクリックしたときに、リファラが飛ばないんですよね。

これは、RFC 2616で、「セキュア接続のページから、非セキュア接続のページに移動するときは、リファラを送出するべきではない」と定められているからです(セクション15.1.3)。

とはいえ、Web担のようなメディアでは、「Web担のページから、うちのサイトにけっこう来る人いるんですよ」という反応も大切なので、なかなかHTTPSにしづらいところでした。

新仕様meta referrerを使えばHTTPS→HTTPでもリファラを出せる

しかし、そうした問題を解決する仕様があります。「リファラポリシー」というW3Cの仕様で定められているものです。

要は、「metaタグなどで、そのページにおけるリファラの送出をコントロールできるようにしよう」というもの。

この仕様はまだ最終版にはなっていない「草案(Working Draft)」なのですが、2014年8月時点の仕様では、metaタグで指定する場合、次のようにすると定められています。

設定値としては、次のものが定められています。

  • none―― そのページからリファラを一切送らない

  • origin―― そのページからは、リファラとしてドメイン名のみのURLを送る(例:https://example.jp/page.htmからは、リファラとして「https://example.jp/」が送られる)

  • none-when-downgrade―― 現在の動作と同じ(HTTPS→HTTPではリファラを送らない、それ以外の場合は元ページの全URLをリファラとして送る)

  • origin-when-crossorigin―― 同じドメイン名でHTTP/HTTPSの種類も同じURLへの移動ならば、元ページの全URLをリファラとして送る。そうでなければ、リファラとしてドメイン名のみのURLを送る

  • unsafe-url―― 常に全URLをリファラとして送る

※以前の仕様には「never」「always」「default」がありましたが、現在は非推奨。

つまり、HTTPS→HTTPでもリファラが送られるようにするには、次のようにすればいいんですね。

リファラとしてリンク元ページの全URLではなくドメイン名だけ送られるようにするには、次のようにします。

すばらしい! これなら、リファラを気にせずにサイトをHTTPS化できますね……と思うかもしれませんが、1つ問題があります。

対応しているのはまだ一部のブラウザ

残念ながら、このmeta referrerにちゃんと対応しているブラウザは、意外と少ないのです。編集部で確認したところ、次のような状況でした(2015年4月現在)。

  • 対応している
    • PC
      • Google Chrome(Windows版)
      • Google Chrome(Mac版)
      • Firefox 38(開発者版、正式版は未リリース)
    • モバイル
      • Chrome for Android(41.0.2272.96で確認)
  • 対応していない
    • PC
      • Firefox 37
      • IE ~11
      • Spartanエンジン(次期IE、RemoteIEで検証)
      • Safari
    • モバイル
      • Android標準ブラウザ(~4.4.4で確認)
      • Android 版 Firefox
      • iPhoneのSafari(~iPhone 6で確認)
      • Chrome for iOS(41.0.2272.58で確認)

Web担だと、HTTPSにしてmeta referrerを指定しても、全体の半分ぐらいのユーザーさんしかそれに対応していないということになります。モバイルユーザーが多いサイトでは、もっと厳しいですね。

まぁ、この仕様はまだ策定中ですからね。ChromeとFirefoxという2つのブラウザで実装されれば、仕様の策定が進み、他のブラウザも対応するようになる……ことを期待します。

HTTPSのサイトの方は、とりあえずをHTMLのテンプレートに入れておくといいのではないでしょうか。

仕様に関する、もうちょっと詳しい情報

ちなみに、この仕様の内容は、次のページで確認できます。

この記事ではmetaタグでの指定方法を解説しましたが、仕様では、metaタグ以外にも次のような方法で指定できると定められています。

この仕様に対しては、プライバシー保護などを理由にした反対もあるようです。とはいうものの、そもそもこの仕様が提案された背景にあるのは「HTTPS→HTTPだとリファラが飛ばないから、ページの種類によってはサイト管理者がリファラの送り方を選べるようにしたいこともあるよね」というもので、仕様の中にプライバシーに関する言及などもありますし、主導しているのはグーグルの人ですので、私は楽観的に見ています。

早く、大多数のブラウザがこれをサポートするようになりませんかね。

※このコンテンツはWebサイト「Web担当者Forum - 企業ホームページとネットマーケティングの実践情報サイト - SEO/SEM アクセス解析 CMS ユーザビリティなど」で公開されている記事のフィードに含まれているものです。
オリジナル記事:meta name="referrer"は、HTTPS→HTTPでもリファラを出す新しい仕様 | 編集長ブログ―安田英久 | Web担当者Forum
Copyright (C) IMPRESS CORPORATION, an Impress Group company. All rights reserved.

この記事の筆者

安田 英久(やすだ・ひでひさ)

株式会社インプレスビジネスメディア
Web担当者Forum 編集長

プログラミングやサーバー、データベースなどの技術系翻訳書や雑誌『インターネットマガジン』などの編集や出版営業を経て、現在Webサイト 「Web担当者Forum」編集長。ビジネスにおけるWebサイトの企画・構築・運用と、オンラインマーケティングの2軸をテーマにメディアを展開してい る。

個人としては、技術とマーケティングの融合によるインターネットのビジネス活用の新しい姿と、ブログ/CGM時代におけるメディアのあるべき姿を模 索し続けている。趣味は素人プログラミングと上方落語と南インドカレー。


Viewing all articles
Browse latest Browse all 19485

Trending Articles