Назад | Перейти на главную страницу

Что означает «//» в «http://serverfault.com/questions/ask»?

Я постоянно использую URL-адреса, набирая их с "//" после "http:"но что значит"//"действительно стоять?

Slashdot имел статья об этом пару дней назад. Тим Бернерс-Ли указывает, что не было особой причины, по которой присутствуют две косые черты (см. Также http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/).

Лично мне нравится идея такого стиля URL:

http:/com/example/www/blah1/blah.html

В таком URL-адресе нет явного «имени хоста». Если ваша ферма серверов «www.example.com» становится перегруженной запросами к ресурсу «/ blah1», вы просто создаете DNS-запись «blah1.www.example.com» и указываете ее на другую ферму веб-серверов, на которой размещается « / com / example / blah1 "иерархия ресурсов.

Несомненно, такая идея имеет последствия для DNS, и сейчас этого точно не случится (как и внезапно появившиеся часы, идущие против часовой стрелки, войдут в моду), но я думаю, что это сработало бы довольно хорошо.

Изменить: SRV RR для веб-сайтов тоже было бы очень хорошо. Ад - SRV RR для что-нибудь было бы здорово.

На это есть ответ в Часто задаваемые вопросы Тима Бернерса-Ли (ссылка найдена в обсуждении слэшдота, упомянутом в ответе @Evan Anderson). По сути, он скопировал синтаксис имени файла из Аполлон Домен, где начало пути с двойной косой черты, за которым следует имя компьютера, использовалось для прозрачного доступа к файлам на других компьютерах (одинарная косая черта по-прежнему является корневым каталогом). Он просто добавил к нему протокол, в данном случае http.

Этот особый случай все еще существует в стандартах Unix, где две косые черты в начале имени файла может интерпретироваться способом, определяемым реализацией (три или более слэша эквивалентны одному). И такое же соглашение широко используется в Windows, только с обратной косой чертой вместо прямой косой черты (это называется Путь UNC там).

xx: // используется для указания используемого протокола, это двойное /, поэтому его нельзя спутать с просто подпапкой.

Тим Бернерс-Ли признает, что это было предназначено для отделения протокола от адреса, но оказалось ненужным.

http://www.theinquirer.net/inquirer/news/1558680/berners-lee-regrets-double-slash

Видеть RFC 1738, раздел 3.1:

Хотя синтаксис для остальной части URL-адреса может варьироваться в зависимости от конкретной выбранной схемы, схемы URL-адресов, которые включают прямое использование протокола на основе IP для указанного хоста в Интернете, используют общий синтаксис для данных, специфичных для схемы:

//<user>:<password>@<host>:<port>/<url-path>

Некоторые или все части "<user>:<password>@", ":<password>", ":<port>", и "/<url-path>" могут быть исключены. Данные схемы начинаются с двойной косой черты. "//" чтобы указать, что он соответствует синтаксису общей схемы Интернета.

Он думает, что это буквально означает «Бей! Бей!», С тех самых ранних времен, когда для установления соединения с сайтом требовалось немного вуду, и вам приходилось жертвовать (бить) не одну, а ДВУХ цыплят, чтобы угодить WorldWideWeamons .. :)

Это означает корень адреса.