2012-02-06 20 views
58

リンクのURLの "http | https"部分を省略すると、そのURLが使用しているページのスキームを使用するようになりました。そのリンクがhttp://www.google.com"http | https"のないURL

<a href="//www.google.com">Google</a> 

を行く:マイページhttp://www.example.comでアクセスしている場合

だから例えば、私は(フロントで気づく「//」)のリンクがあります。

しかし、私は同じリンクでhttps://www.example.comでページにアクセスした場合、それは私がこの詳細については、オンラインを見てみたかったhttps://www.google.com

に行くだろうが、私は良い検索語句のトラブルの考え方を持っています。 「HTTPなしのURL」を検索した場合、返されるページは「www.example.com」という形式のURLに関するものですが、これは私が探しているものではありません。

スキームレスURLと呼べますか?プロトコルレスのURL?

これはすべてのブラウザで機能しますか?私はFFとIE 8でそれをテストし、両方で動作しました。これは標準の一部ですか、それ以上のブラウザをテストする必要がありますか?

+5

[現在のページの1つを保存するためにプロトコル(スキーム)を省略した絶対URL]の重複が可能です。(http://stackoverflow.com/questions/4978235/absolute-urls-omitting-the-protocol -scheme-in-order-to-the-one-of-the) – David

+1

(検索する用語を尋ねてきたので)元のStackOverflowの質問に私を導いたGoogleの検索は「プロトコルなしの絶対URL " – David

+0

あなたはhttpまたはhttpsを指定していないので、ブラウザは同じページからのリンクであると仮定して最後のページを取ってあなたを決めます。 – raym0nd

答えて

11

は、それがネットワークパス参照呼ばれる(欠落している部分がscheme又は呼ばれる)defined in RFC3986 Section 4.2

4.2相対参照

相対参照がかかり別の階層URIの名前空間 に関連するURI参照を表現するために、階層構文 (セクション1.2.3)の利点

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")を付ける必要があります。

+0

// htmlのベースタグでは使用できません。私は

関連する問題