えー写真に意味はありません。ただ一つ言えることは、可愛いは正義です。
さて先日、当ブログをHTTPS化しました。
非常にセキュアになったのは嬉しいのですが、HTTPSページからHTTPページにリンクで飛んだ場合、HTTPページはリファラを受け取ることができません。
これだと、リンクしたことをお伝えできないのでちょっとアレですよね。
なんとかならないもんかと思ったら、HTMLにあるmetaタグを挿入することで、リファラを制御できるようです。
HTTPSページでもリファラを制御できるメタタグ。
HTMLを策定している、W3Cにそのメタタグが紹介されています。
2016年4月19日現在、以下の5種類が用意されています。
no-referrerは、リファラを全く送らない仕様ですね。HTTPS→HTTPSでもリファラを送りません。↓↓
<meta name="referrer" content="no-referrer">
ドメインだけのリファラを送りたい場合は、origin。↓↓
<meta name="referrer" content="origin">
none-when-downgradeは、HTTPS→HTTPSの場合にリファラを送ります。HTTPS→HTTPの場合にはリファラを送りません。まぁ普通にSSLを実装した場合は、特につけなくても同じ動作をするので、特に意識しなくてもいいメタタグとも言えますね。↓↓
<meta name="referrer" content="none-when-downgrade">
origin-when-crossoriginは、同じドメイン同士の移動ならば、フルURLのリファラを送りますが、他のドメインへの移動の場合は、ドメインのみのリファラを送ります。↓↓
<meta name="referrer" content="origin-when-crossorigin">
unsafe-urlは、HTTPS→HTTPだろうと、HTTPS→HTTPSだろうと、同じドメイン同士だろうと、違うドメイン同士だろうと、常にリファラを送るという仕様です。↓↓
<meta name="referrer" content="unsafe-url">
注意なのが、このメタタグは、完全に採用されたタグではないので、もしかしたら将来使えなくなる可能性があります。
ただ、最新のGoogle Chromeや、Firefoxは対応しています。残念ながらSafariはiOS版、Mac版ともに対応していないようですが・・・。
- 【参考】meta name="referrer"を使ってHTTPSでもリファラを送信する方法|ferret [フェレット]
- 【参考】meta name="referrer"は、HTTPS→HTTPでもリファラを出す新しい仕様 | 編集長ブログ―安田英久 | Web担当者Forum
さて、どのメタタグにしようか・・・。
全てのページに完全なURLのリファラを送りたいところですが、「unsafe-url」はちょっと抵抗がありますよね。
Githubのソースコードを見てみると「origin-when-crossorigin」を採用しているので、こちらで様子を見てみようと思います。
早く全てのウェブがHTTPS化すればいいのに・・・。
@isloopをフォローする