В последнее время я видел такие рабочие блоки кода:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
И согласно RFC 2396 (синтаксис URI) и RFC 2616 (HTTP 1.1) эти URI, начинающиеся с двух косых черт, действительны, но, к сожалению, RFC их не объясняют.
Может ли кто-нибудь указать мне на ресурс, который объясняет, как браузеры будут / должны / должны обрабатывать эти URI?
html
http
uri
protocol-relative
pagid
источник
источник
../g
- он будет использовать текущий протокол и приведет кhttp://a/b/c/g
.xml:base
чтобы установить его в явном виде на любом элементе . По умолчанию в HTML базовым URI является тот же URI страницы (но внутри файла CSS базовый URI относится к uri CSS, а не к содержащему его HTML , но более старый IE сделал его относительно HTML). В других протоколах и языках он может быть другим (например, в XSLT это зависит от текущего элемента). См. Также<html:base>
.http
! Это зависит от протокола контекста страницы. Если контекст был загружен подhttp://a/b/c/d;p?q
, то//g
действительно разрешаетсяhttp://g
. Но если страница загружалась так,http://a/b/c/d;p?q
то результат будетhttps://g
. А также не забывайте о других протоколах, таких какfile://
(страница загружается с диска), что, безусловно, доставит вам много головной боли.Это относительные URL-адреса протокола. Они указывают на адрес, сохраняя текущий протокол.
Это обозначение часто используется, чтобы избежать проблемы «смешанного содержимого» (предупреждающее сообщение IE о жалобах
http
иhttps
ресурсах на той же странице HTTPS).Обновление: официальная документация в RFC 3986:
источник
Они не зависят от протокола. Если веб-страница обслуживается по https, тогда запрос использует https, если http, то http.
Пол Айриш, кажется, популяризировал их, включив их в свой шаблонный код.
источник
Имейте в виду , что это не только HTTP или HTTPS независимы, но и файл , FTP и т. Д.
Это означает, что если вы откроете файл .htm прямо в браузере на локальном хосте, браузер будет разрешать // как файловый протокол. и ваша страница не будет работать. Это может вызвать проблемы на упакованных веб-сайтах как «родное» приложение с использованием таких инструментов, как Electron, PhoneGap и т. Д.
Пример:
<script src="//mywebsite.com/resource.js"></script>
к
<script src="file://mywebsite.com/resource.js"></script>
источник