"//" в "http://" - PullRequest
       45

"//" в "http://"

10 голосов
/ 02 апреля 2012

Я хотел бы знать, почему разработчики стандарта URI выбрали // в определении URI, например http://.

Почему это так сложно? Почему бы просто не использовать http:?

Ответы [ 2 ]

29 голосов
/ 02 апреля 2012

Вот ответ ( Изобретатель Интернета сожалеет об одной мелочи ).

Оглядываясь назад, Тим Бернерс-Ли тоже мог бы ее удалить.

Причина, по которой это было включено:

Двойная косая черта, хотя в то время и была соглашением о программировании, на самом деле оказалась не нужна.

10 голосов
/ 02 апреля 2012

RFC 2396 покрывает это, FWIW.

http://www.ietf.org/rfc/rfc2396.txt

Псевдокод в части 7 раздела 5.2, в частности, лучше всего отвечает на ваш вопрос: «//» означает, что за ним следует авторитетная часть URI (поскольку псевдокод также дает понять, что это не так. обязательная часть URI).

if authority is defined then
         append "//" to result
         append authority to result

Кроме того, в разделе RFC 3986 , раздел 3.

указано немного больше.

Когда авторитета нет, путь не может начинаться с двух символы косой черты ("//"). Эти ограничения приводят к пяти различные правила ABNF для пути (раздел 3.3), только одно из которых будет соответствовать любой заданной ссылке URI.

...