Почему HTTP:// содержит две косые черты и file:/// three в браузере?

Я хочу спросить почему http:// содержит две косые черты, это просто стандартно, чтобы сделать его URL или какой-либо логический смысл? и почему file:/// содержит три слеша?

file:///C:/a.html

2 ответа

Компонент полномочий URI должен предшествовать //:

Компоненту авторитета предшествует двойной слеш ("//") […]

Это также, почему не все URI содержат двойную косую черту: потому что не все URI имеют компонент полномочий (например, URI, использующие mailto схема, xmpp схема и т. д.).


Если вы удивляетесь, почему для (HTTP) URI была выбрана двойная косая черта вместо чего-то другого (или ничего), обратитесь к часто задаваемым вопросам Тима Бернерса-Ли Почему //, # и т. Д.?Какова история //?

tl; dr: он скопировал синтаксис имени файла, который использовал Аполлон.

Кстати, он сожалеет об этом выборе:

Я должен сказать, что теперь я сожалею о том, что синтаксис такой неуклюжий. мне бы хотелось http://www.example.com/foo/bar/baz быть просто написанным http:com/example/foo/bar/baz где клиент узнает, что www.example.com существовал и был сервером для связи. Но сейчас уже слишком поздно.

Как уже упоминалось в этом сообщении суперпользователя:

Полный синтаксис: file:// host /path.

Если хост является localhost, его можно опустить, что приведет к файлу file:///path.

Другими словами, ссылка на файлы на вашем компьютере аналогична ссылке на файлы в localhost.

Другие вопросы по тегам