Абсолютні URL-адреси опускають протокол (схему), щоб зберегти одну з поточної сторінки


85

Я побачив //somepage.com/resourceформат url. Наприклад:

<img src="//remotesite.com/image1.jpg" />

Суть цього полягає в тому, що якщо використовується поточна сторінка (сторінка, що визначає imgтег) http, тоді запит на віддалений сайт робиться через http. Якщо це https - це https. Це усуває попередження браузера про не повністю зашифровані сторінки.

Моє запитання - чи безпечно використовувати цей формат URL-адреси для всіх браузерів. І це стандарт?


4
Пов’язане: Чи можу я змінити всі свої посилання http: // на просто //? відповідає на ваше перше, а відносні URL-адреси схеми - на ваше друге запитання.
Гамбо

1
Подібне запитання: stackoverflow.com/questions/8343942/…
TMS


Хоча ви не використовували цей термін у своєму питанні, я додав тег, що стосується протоколу (так це питання можна знайти простіше).
unor

Відповіді:


61

чи цей формат URL безпечний для використання у всіх браузерах.

Я не можу сказати нічого точно, але ви повинні мати можливість протестувати це в різних браузерах.

І це стандарт?

Технічно це називається "посиланням на мережевий шлях" згідно з RFC 3986 . Ось схема для нього:

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

Існує проблема , хоча, при використанні на <link>або @import, IE7 і IE8 завантажити файл.

Ось допис, написаний Полом Ірландським на цю тему:


1
Зверніть увагу, що Пол Ірландський оновив свою публікацію, вказавши, що тепер ресурси завжди повинні подаватися через https, коли це можливо. Дивіться публікацію, на яку посилається @Sarfraz вище.
Еван Донован,

1
Код фрагмента аналітики Google використовує цю схему, тому, впевнений, це перехресний браузер, хоча цим інструментом користується багато веб-сайтів, вони б просто надали https-версію, інакше
Lukas Liesis

22

Так, я вважаю, що це так. Пол Ірландський ввів термін Protocol Relative URL .

Я також зазначу, що це частина проекту HTML5Boilerplate, який євангелізує перехресну сумісність браузера.

Примітка: в IE6 є крайовий випадок з Google Analytics, про який згадується у статті Пола. Тож це не ідеально.


Це вже неправда, див. Stackoverflow.com/a/37609402/2237601 або тут , тепер вони використовують https://. Також дивіться тут чому ommiting схема протоколу не може бути гарною ідеєю.
bg17aw

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.