同僚から、リンク内のURLの「http | https」の部分を省略すると、そのURLが使用しているページのスキームを使用することを知りました。
たとえば、私のページが http://www.example.com でアクセスされ、リンクがある場合(前面に「//」があることに注意してください):
<a href="//www.google.com">Google</a>
そのリンクは http://www.google.com に移動します。
しかし、同じリンクで https://www.example.com のページにアクセスすると、 https://www.google.com に移動します
これについての詳細をオンラインで見たかったのですが、良い検索フレーズを考えるのに苦労しています。 「HTTPを使用しないURL」を検索すると、返されるページは「www.example.com」という形式のURLに関するものであり、探しているものではありません。
それをスキームレスURLと呼びますか?プロトコルなしのURL?
これはすべてのブラウザで機能しますか? FFでテストし、IE 8で、両方で動作しました。これは標準の一部ですか、それとももっと多くのブラウザをテストする必要がありますか?
プロトコル相対URL
一部のブラウザでは、異常なセキュリティ警告が表示される場合があります。
簡潔な定義については、 Wikipedia Protocol-relative URLs もご覧ください。
一度に、 推奨されました ;しかし、今後、 回避する必要があります 。 StackOverflowの質問も参照してください なぜプロトコル相対URLを使用するのですか?
network-path referenceと呼ばれます(欠落している部分はscheme
またはprotocol
と呼ばれます) RFC3986セクション4.2で定義
4.2相対参照
相対参照は、階層構文(セクション1.2.3)を利用して、別の階層URIの名前空間に対するURI参照を表現します。
relative-ref = relative-part [ "?" query ] [ "#" fragment ] relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-empty
ターゲットURIとも呼ばれる相対参照によって参照されるURIは、セクション5の参照解決アルゴリズムを適用することによって取得されます。
2つのスラッシュ文字で始まる相対参照は、ネットワークパス参照(強調強調)と呼ばれます。そのような参照はめったに使用されません。単一のスラッシュ文字で始まる相対参照は、絶対パス参照と呼ばれます。スラッシュ文字で始まらない相対参照は、相対パス参照と呼ばれます。
コロン文字(たとえば、「this:that」)を含むパスセグメントは、スキーム名と間違われるため、相対パス参照の最初のセグメントとして使用できません。相対パス参照を作成するには、そのようなセグメントの前にドットセグメント(例: "./this:that")を付ける必要があります。