これが何を意味するのかについては、StackOverflowでよく議論される質問です。
<script src="//cdn.example.com/somewhere/something.js"></script>
これにより、HTTPS経由でアクセスしている場合に、恐ろしい "このページの安全でない要素"警告ではなく、HTTPSが自動的に取得されるという利点があります。
しかし、なぜプロトコル相対URLを使用するのでしょうか。 CDN URLで常にHTTPSを使用しないのはなぜですか?結局のところ、HTTPSを介してページの一部をロードすることにした場合、HTTPページに文句を言う理由はありません。
(これはCDNの場合に特に当てはまります。ほとんどすべてのCDNにHTTPS機能があります。一方、独自のサーバーは必ずしもHTTPSを備えているとは限りません。)
2014年12月現在、 プロトコル相対URLに関するポールアイリッシュのブログ はこう述べています。
2014.12.17:すべての人にSSLが推奨され、パフォーマンスへの懸念がないため、この手法はアンチパターンになりました。必要なアセットがSSLで利用できる場合、alwaysは
https://
アセットを使用します。
特定のパフォーマンスの懸念がない場合(Zakjanの回答で言及されている遅いモバイルネットワークなど)は、https://
を使用してユーザーを保護する必要があります。
パフォーマンスのため。 HTTPS接続の確立には、HTTPよりもはるかに長い時間がかかります。TLSハンドシェイクにより、最大2つの遅延遅延が追加されます [〜#〜] rtt [〜#〜] s。あなたはそれをモバイルネットワークで気づくことができます。そのため、必要がない場合はHTTPSアセットURLを使用しない方が良いでしょう。
CSPの upgrade-insecure-requests
、プロトコルにとらわれないURL(//example.com
)。
いくつかの潜在的な理由がありますが、それらはすべて特に重要ではありません。