Как правило, когда я вижу //
, обычно следует какой-то префикс протокола, например http:
или ftp:
. Я никогда не видел его в другом месте. Например,
http://www.google.com/
типичный URL
Тем не менее, я обнаружил, что следующие два синтаксиса дают разные версии одного и того же сайта,
Я бы подумал, что //
где-либо, кроме спецификации протокола, будет недействительным. К моему удивлению, я был неправ. Что такого в финале, //
который дает другую версию того же сайта?
РЕДАКТИРОВАТЬ:
Кто-то на этом сайте наверняка заметил другую, потому что обе ссылки теперь попадают на одну и ту же страницу.
///
или////
в конце URL привел тот же сайт , как/
где//
сделал результат чем - то другим.\\HostName[@Port]\SharedFolder\Resource
Ответы:
Ведущий
//
является частью синтаксиса URL. Изобретатель всемирной паутины извинился за эту ошибку .Что касается трейлинга
//
, это действительно не двойная косая черта. Первая косая черта отделяет имя хоста от пути. Последний слеш - это путь. Веб-сервер может, если он хочет, трактовать путь,/
отличный от пустого пути, и, очевидно, с помощью Weather.com. Что касается того, случайно это или преднамеренно, вы должны спросить их об этом.источник
http://example.com
можно относиться иначеhttp://example.com/
? Я не думал, что это было в случае с первым ударом..htaccess
правила. Но вы, вероятно, не должны.http://example.com
отличные отhttp://example.com/
веб-сервера, так как они оба имеют пустой путь. Вы можете относиться к ним по-разному в браузере.GET / HTTP/1.1
Совсем недавно можно утверждать, что двойная косая черта играет определенную роль. Google рекомендует (например, чтобы избежать случайного вызова небезопасного содержимого с защищенной страницы), исключив протокол из встроенных ресурсов (таблиц стилей, js и т. Д.), Например так
Таким образом, теперь очевидно, что такой URL без протокола является полностью определенным URL, а не относительным URL (который начинается с одной косой черты).
источник
На самом деле ответ на вопрос, оригинальный спецификация дал протокол
http:
(или , возможноftp:
,gopher:
,mailto:
,news:
,telnet:
,wais:
,file:
илиprospero:
) , то ,//
чтобы указать , что Uniform Resource Locator (URL) синтаксис использовался, то хозяин (возможно с префиксомuser:password@
) , то адрес Правильно начинать с другого/
. Это было предложено в RFC 1738 .По мере развития Интернета он
http:
стал доминирующим протоколом, поэтому браузеры теперь предполагают, что префиксhttp://
должен быть добавлен, если его там нет.источник
//
для указания того, что он используется ... Это так?isbn:1-23-456789-12-3
. На практикеhttp:
определяется, что остальное будет URL. RFC являются просто предложениями и часто допускают расширения, которые никогда не осуществляются. В какой-то момент Тим Бернерс-Ли сказал, что//
это «подсеть» (напримерhttp:/govnet/whitehouse.gov
). Эта идея никогда не использовалась, но «//» остается, так как теперь много кода ожидает и проверяет его.http://www.google.com/
иhttp:%/74.125.225.97/
для того, чтобы быть действительным, и//
указывать имя хоста, в то время как что-то еще%/
указывает на IP-адрес?Я хотел бы добавить к принятому ответу Дэвида:
Несмотря на извинения изобретателя сети, я думаю, что синтаксис двойной косой черты служил важной цели: визуально выделиться. Двойная косая черта позволяла легко визуально различать URL-адреса в тексте без гиперссылок. Когда вы увидели двойную косую черту, вы сразу же подумали, что ее можно ввести в окне браузера, подобно тому, как вы думали, текст, содержащий
@
может быть использован для отправки электронной почты. Это было особенно важно на этапе перехода к вебу, где у протоколов той эпохи (ftp, telnet, gopher) было свое странное представление об адресах серверов или путях к ресурсам, реже обоим. Большинство проблем, связанных с двойной косой чертой, все еще будут существовать, потому что двойная косая черта является наименее загадочной частью URL-адреса, учитывая номера портов, процентное кодирование и чувствительность к регистру. Но наличие такого URL-адреса, как http :thing.com, можно легко спутать с моим примером здесь :thing.com. Посмотрите на http: // с другой стороны, как он сияет, как бриллиант. Двойная косая черта была важной частью веб-символики, и я считаю, что она также ускорила процесс принятия, даже если это было непреднамеренно.Они также могли бы облегчить работу AmigaOS по различению имен файлов и URL-адресов, поскольку AmigaOS использовал синтаксис пути к файлу
volume:path/to/destination
. :)источник