Деннис объяснил 3-й слэш, необходимый для отделения host
от path
, но два других гораздо интереснее ...
Оказывается, они были бесполезным и несколько произвольным дополнением к синтаксису URL. Тим Бернерс-Ли, изобретатель Всемирной паутины и автор многих из ее стандартов (в том числе RFC, с которым связался Деннис), выразил сожаление по поводу использования «двойной черты» в интервью в 2009 году.
Г-н Бернерс-Ли объяснил, что двойная косая черта, хотя в то время это было соглашение о программировании, оказалась не очень необходимой. Посмотрите на все бумаги и деревья, сказал он, которые можно было бы спасти, если бы людям не пришлось писать или печатать эти черточки на бумаге в течение многих лет - не говоря уже о человеческом труде и времени, потраченном на ввод этих двух нажатий клавиш бесчисленными миллионами раз в адресных полях браузера.
http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/
Таким образом, если не считать незначительного (и нехарактерного) упущения в предвидении около 18 лет назад, URL вашего файла мог бы быть легко file:/D:/Desktop/Book.pdf
, а не file:///D:/Desktop/Book.pdf
.
Существует, чтобы ответить на ваш вопрос, нет веской причины, почему URL-адреса имеют 3 слеша.
Обновление: как отмечает @ComFreek в комментариях, по состоянию на 2017 год file:/D:/...
приведенный выше пример теперь действителен! Это благодаря RFC 8089 , который специально вызывает это исправление из предыдущего стандарта ...
Согласно определению в [RFC1738], URL-адрес файла всегда начинается с токена «file: //», за которым следует (необязательно пустое) имя хоста и «/». Синтаксис, приведенный в Разделе 2, делает необязательным весь компонент полномочий, включая двойную косую черту «//».
Какое время быть живым.
file://localhost/D:/Desktop/
автоматически.