HTTP начинается с двух слешей. Например http://example.com
.
То же самое касается FTP. Например ftp://example.com
.
Однако файл «URL» начинается с трех косых черт. Например, читая PDF-файл, используя Chrome, URL будет file:///D:/Desktop/Book.pdf
.
Почему URL-адреса файлов используют три слеша?
browser
filesystems
url
Pacerier
источник
источник
file://localhost/D:/Desktop/
автоматически.Ответы:
Как уже упоминалось, схема файла имеет вид "file: // <host> / <path>". Хотя у большинства браузеров не будет проблем только с двумя слешами, и это справедливо.
При прочих равных условиях тройной слэш и ключевое слово «localhost» существуют только для обеспечения соответствия действительному синтаксису URI / URL. В контексте файловой схемы хост не имеет смысла, поскольку он загружается непосредственно из файловой системы без какого-либо явного протокола передачи или пути к документу сервера. Поскольку это не HTTP, он не может загружаться со стандартного веб-сервера, где теоретически можно настроить несколько локальных виртуальных хостов. И он не может загружаться со стандартного сетевого тома, который технически является другим «хостом», поскольку браузер просто использует имя тома, например, «file: /// volume / foo». Наконец, попытка таких вещей, как «file: //example.com/some/file», не работает. Вероятно, есть какая-то причина для поддержки внешнего хоста, но я не могу думать ни о какой.
IETF в настоящее время готовит изменения, чтобы убрать требование тройной косой черты, хотя черновик также добавляет несколько странных возможностей, таких как
file:c|/path
и четныеfile://///host.example.com/path
.источник
Полный синтаксис есть
file://host/path
.Если хост есть
localhost
, его можно опустить, что приведет кfile:///path
.См. RFC 1738 - Унифицированные указатели ресурсов (URL) :
источник
localhost
другие протоколы или это работает только дляfile://
?Деннис объяснил 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 , который специально вызывает это исправление из предыдущего стандарта ...Какое время быть живым.
источник
http:example.com
вместоhttp://example.com
него. Может показаться, что это немного , но они складываются. Google получает миллионы запросов в день. Сколько ссылок на странице? По крайней мере, 20. Это означает, что для миллиона поисков, если косые черты не нужны, можно было бы сэкономить 20 МБ полосы пропускания.http://example.com
может быть связано с тем, как//example.com
в документе, переданном по http. Это называется относительным URL протокола , все браузеры их поддерживают.file:/D:/Desktop/Book.pdf
действительный URI файла в соответствии с RFC 8089 (от 2017 года), который заменил RFC 1738 (1994) в аспектах URI файла.