現在のページの1つを保持するためにプロトコル(スキーム)を省略した絶対URL


85

//somepage.com/resourceURL形式を見ました。例えば:

<img src="//remotesite.com/image1.jpg" />

これのポイントは、現在のページ(imgタグを定義するページ)がを使用しているhttp場合、リモートサイトへの要求はhttpを介して行われるということです。httpsの場合-httpsです。これにより、完全に暗号化されていないページに関するブラウザの警告がなくなります。

私の質問は-このURL形式はすべてのブラウザで安全に使用できるかということです。そしてそれは標準ですか?


4
関連:すべてのhttp://リンクを//だけに変更できますか?最初の質問に回答し、Schemeの相対URLが2番目の質問に回答します。
ガンボ



質問でこの用語を使用していませんが、protocol-relativeタグを追加しました(この質問を簡単に見つけることができるように)。
unor

回答:


61

このURL形式はすべてのブラウザで安全に使用できますか。

確かなことは何も言えませんが、さまざまなブラウザでテストできるはずです。

そしてそれは標準ですか?

技術的には、RFC3986では「ネットワークパス参照」と呼ばれます。そのためのスキームは次のとおりです。

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

ただし、<link>または@importで使用すると、IE7およびIE8がファイルをダウンロードするという問題があります。

これは、この件に関してPaulIrishによって書かれた投稿です。


1
Paul Irishが投稿を更新して、可能な場合は常にhttps経由でリソースを提供する必要があることを示していることに注意してください。上記の@Sarfrazによってリンクされた投稿を参照してください。
Evan Donovan

1
グーグルアナリティクススニペットコードはこのスキームを使用しているので、このツールが多くの多くのウェブサイトで使用されている間はクロスブラウザであるに
違いありません。

22

はい、そうだと思います。Paul Irishは、プロトコル相対URLという用語を作り出しました。

また、ブラウザ間の互換性を広めるHTML5Boilerplateプロジェクトの一部であることも指摘しておきます。

注:ポールの記事で言及されているグーグルアナリティクスを使用したIE6のエッジケースがあります。だからそれは完璧ではありません。


これはもはや真実ではありません。stackoverflow.com / a / 37609402/2237601またはここを参照してくださいhttps://。現在はを使用しています。また、プロトコルスキームを省略することが適切でない理由もここで確認してください。
bg17aw 2016年

2

安全なはずです。

GoogleのHTML / CSSスタイルガイドで使用する形式として指定されています:編集:最新のURL:https://google.github.io/styleguide/htmlcssguide.xml#Protocol

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.