ソース中のリンクのURLを「http:~」で記述していてそのページを「https:~」でアクセスると、ブラウザによってワーニングまたはエラーが発生して、正しくページが表示されない(=ミックスコンテンツ)。
そんなときの対処方法のひとつ。
htmlでリンクを書く際に、「http:」や「https:」を除いて記述すると、ブラウザが現在使っているプロトコルに合わせてリクエストする。
つまり、ページをhttpで開いてたら「http:~」で、「https」で開いていたら「https:~」で、と動的に変更してくれる。
<link href="//www.google.com/css/gcs-v2.css" rel="stylesheet"> <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
「ステートフル JavaScript 」から
<!– 最小化されたjQuery –>
<script src=“ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js></script>
この例ではURLの中でプロトコルを指定せず、いきなりから始まっています。この記法はほとんど知られていませんが、読み込み元のページと同じプロトコルが利用されます。つまり、HTMLがHTTPSを使ってダウンロードされたならスクリプトも同様に安全にダウンロードされることになり、セキュリティの警告なども表示されません。このようなURLはRFCの仕様に適合した正当なものです。しかも、この形式のURLは幅広くサポートされており、Internet Explorer 3.0でも利用できます。
ただし、こんな話も。
IEでCSSに対してこの表記が使われている場合、対象となるCSSファイルが2回ダウンロードされてしまう問題があることが発覚した。ダウンロードされるファイルが2倍に増えるうえ、不要なリクエストやヘッダのやりとりも発生する。