「2つのスラッシュ」は、「現在のページをロードするために使用されているプロトコルを使用して、参照されるリソースを要求する」の一般的な省略形です。
http
「プロトコル相対URL」として最もよく知られているこれらのURLは、要素(例のJSファイルなど)がまたはhttps
コンテキストから提供および/または要求される可能性がある場合に特に役立ちます。プロトコル相対URLを使用することで、実装を回避できます
if (window.location.protocol === 'http:') {
myResourceUrl = 'http://example.com/my-resource.js';
} else {
myResourceUrl = 'https://example.com/my-resource.js';
}
コードベース全体のロジックのタイプ(もちろん、サーバーがとの両方をexample.com
介してコンテンツを提供できると仮定します)。http
https
顕著な実例はMagento1.XEコマースエンジンです。パフォーマンス上の理由から、カテゴリと製品ページはhttp
デフォルトでプレーンを使用しますが、チェックアウトはhttps
有効になっています。
一部のリソース(サイトのヘッダーにあるプロモーションバナーなど)がプロトコル以外の相対URL(つまりhttp://example.com/banner.jpg
)を介して参照されている場合、有効なチェックアウトに到達した顧客https
はかなり不親切に迎えられます
「このページには安全でない要素があります」
プロンプト-これは安全に推測できますが、ビジネスには必ずしも適していません。
ただし、前述のリソースが経由で参照されて//example.com/banner.jpg
いる場合、ブラウザは、プレーンなhttp製品/カテゴリページとhttps対応のチェックアウトフローの両方で、適切なプロトコルを介してリソースをロードします。
tl; dr:http / httpsが混在する環境の可能性がわずかでもある場合でも、リソースを参照するためにダブルスラッシュ/プロトコル相対URLを使用します—それらを提供するホストがhttpとhttpsの両方をサポートしていると仮定します。