2012-01-15 7 views
4

http://tools.ietf.org/html/rfc3986http://en.wikipedia.org/wiki/Uniform_resource_identifierによると、URIにはスキーム識別子の後に二重スラッシュが含まれる場合もあれば、含まれない場合もあります。これにより、 "urn:issn:1535-3613"は "http://stackoverflow.com"と同様に有効なURIになります。URI内のスキームに続くダブルスラッシュのセマンティクスは何ですか?

二重スラッシュを含める必要がありますか、それともオプションで、どのような場合には理由/意味が何ですか?回答する際には、決定的な答えを提供してください - ブラウザ/ライブラリ/がどう処理しているかを報告するだけではありません。

+0

決定的な答えは? RFCが非決定的だと思いますか? – paxdiablo

+1

私は結論的なRFCを考えています。私はちょうど重要なセクションを "オーバーキープ"されているようだ: - |。 – Holger

答えて

12

あなたがリンクしているRFCにあります。//がある場合、それはそれに続くのはという機関です。 Section 3を参照してください。したがって、スキームが権限を使用する場合、コロンの後に権限が必要です(このスキームでは権限がオプションの場合はオプションである)場合は、コロンの後に//を使用します。 mailtoというURIの意味でという識別子を使用しないため、mailtoのURIには//は含まれません。

+1

ドメイン名の違いは 'http:// foo @ example.org'と' mailto:foo @ example.org'では実際には分かりません。後者はどこに権限として定義されていないのですか?私はちょうど矛盾しているかもしれないと感じます。 – Evert

1

「決定的な回答」が必要な場合は、公式HTTP RFC document(HTTP URLスキームについてのポイント3.2.2を参照)より決定的なものはありません。

4

答えを徹底的に説明しているRFCのほかに、inventor of the World Wide Webから直接この引用が好きかもしれないと思いました。

[ティム・バーナーズ・リー]が のやり方を尋ねられたとき、答えは簡単でした。 「コロンの後にスラッシュを入れておけば、 スラッシュが消えてしまった。

出典:http://www.wired.co.uk/news/archive/2014-02/06/tim-berners-lee-reclaim-the-web

+0

現在、二重スラッシュは、おそらく初期の意図ではなかったとしても、 '// cdn.example.com'のようなスキーム相対URLを許可することに注意してください。 –

関連する問題