Какова семантика двойной косой черты, следующей за схемой в URI? - PullRequest
6 голосов
/ 15 января 2012

Согласно http://tools.ietf.org/html/rfc3986 и http://en.wikipedia.org/wiki/Uniform_resource_identifier, URI может содержать или не содержать двойную косую черту после идентификатора схемы. Это делает «urn: issn: 1535-3613» действительным URI так же, как «http://stackoverflow.com".

Существует ли строгая / формальная необходимость включить двойную косую черту или это необязательно, и в любом случае, какова причина / семантика? При ответе, пожалуйста, предоставьте окончательный ответ - не просто сообщайте, как ваш браузер / библиотека / ... обрабатывает это.

Ответы [ 3 ]

14 голосов
/ 15 января 2012

Это в RFC, который вы связали: если есть //, это означает, что то, что следует, это полномочие .См. Раздел 3 .Таким образом, если схема использует полномочия , она будет использовать // после двоеточия (либо требует его, если в этой схеме требуется полномочия , либо будет необязательным, если полномочие является необязательным в этой схеме).mailto не использует права доступа в смысле URI, поэтому mailto URI не включают //.

5 голосов
/ 08 февраля 2014

Помимо RFC, который подробно объясняет ответ, я подумал, что вам может понравиться эта цитата прямо от самого изобретателя Всемирной паутины .

Когда [сэр Тим Бернерс-Ли] спросили, что бы он сделал по-другому, ответ был легким.«Я бы избавился от косой черты после двоеточия. Тебе это действительно не нужно. В то время это казалось хорошей идеей».

Источник: http://www.wired.co.uk/news/archive/2014-02/06/tim-berners-lee-reclaim-the-web

1 голос
/ 15 января 2012

Что ж, если вам нужен «окончательный ответ», я думаю, что нет ничего более убедительного, чем официальный HTTP RFC-документ (см. Пункт 3.2.2, в котором говорится о схеме HTTP-URL).

...