Абсолютные пути, начинающиеся с двух косых черт

Я заметил, что ссылки Википедии, указывающие на путь в другом поддомене Википедии, используют ссылку со следующим синтаксисом: //<SERVER_NAME>/<REQUEST_URI>. Например, ссылка со страницы файла на file отображается (например) как //upload.wikimedia.org/wikipedia/en/9/95/Stack_Overflow_website_logo.png. Я знаком с абсолютными путями (сейчас дважды подумав об этом) и относительными путями, а также с тем, как их использовать. Тем не менее, я никогда не видел этого использования. Я предполагаю, что это указывает на новое имя сервера, использующее текущий протокол. Это правильно? И есть ли для этого официальное название (или общепринятое название)?


person Tyler Crompton    schedule 24.11.2011    source источник
comment
возможный дубликат http://stackoverflow.com/questions/5799577/does-using-www-example-com-in-javascript-chose-http-https-protocol-automatical   -  person Quentin    schedule 24.11.2011
comment
возможный дубликат URI ссылки на сетевой путь/относительные URL-адреса схемы   -  person Tyler Crompton    schedule 24.11.2011
comment
возможный дубликат http://stackoverflow.com/questions/550038/is-it-valid-to-replace-http-with-in-a-script-src-http   -  person outis    schedule 10.03.2012


Ответы (2)


Похоже, что эти //example.com URI называются «относительными схемами» или «относительными протоколами», и в этом вопросе есть дополнительная информация об этом:

URI ссылки на сетевой путь/относительные URL-адреса схемы

ИЗМЕНИТЬ:

По-видимому, на самом деле это можно назвать «ссылкой на сетевой путь», как показано здесь: http://tools.ietf.org/html/rfc3986#section-4.2

Цитировать:

Относительная ссылка, которая начинается с двух символов косой черты, называется ссылкой сетевого пути; такие ссылки используются редко. Относительная ссылка, начинающаяся с одной косой черты, называется ссылкой с абсолютным путем. Относительная ссылка, которая не начинается с косой черты, называется ссылкой относительного пути.

person BumbleShrimp    schedule 24.11.2011
comment
Просматривая вопрос, на который вы ссылаетесь, я нашел ссылку на документ RFC (ietf.org/ rfc/rfc3986.txt). Интернет-сообщество придумало это как ссылку на сетевой путь. Я понятия не имел, что ввести в Google, чтобы найти это. Спасибо за ссылку. :) - person Tyler Crompton; 24.11.2011
comment
Не уверен, что ваше редактирование или мой комментарий были первыми, но спасибо. :) - person Tyler Crompton; 24.11.2011
comment
Ха-ха, я думаю, они пришли одновременно. - person BumbleShrimp; 24.11.2011

Вы абсолютно правы. Ссылка на //some/path является относительным путем протокола.

А именно, если вы сейчас находитесь на http://something.example.com, ссылка на //google.com будет указывать на http://google.com.

Если вы сейчас находитесь на https://something.example.com, ссылка на //google.com будет указывать на https://google.com.

Наиболее распространенное использование этого можно увидеть в шаблоне html5.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>

Пожалуйста, Google предоставляет свой javascript cdn как по http, так и по https. Таким образом, чтобы избежать предупреждений безопасности, мы загружаем его по https, если мы на https, или по http, если мы на http.

Заметка:

К сожалению, вы не можете сделать то же самое для Google Analytics.

они используют домены ssl.google-analytics.com и www.google-analytics.com для https и http.

person Matthew Rudy    schedule 24.11.2011