Підтримка веб-переглядача для URL-адрес, що починаються з подвійного косого кута


107

Нещодавно я бачив кілька посилань, які використовуються без протоколу. Це не здалося занадто важким для розуміння - я думаю, що це відмінна ідея і досить інтуїтивна.

Для тих, хто вас не знає, використання такої URL-адреси //example.com/script.jsбуде вказувати на http://example.com/script.jsабо https://example.com/script.jsзалежно від того, походить чи ні URL-адреса з http або https- URL. Наприклад, включення http-скриптів або зображень зі сторінки https може бути проблемою безпеки, тому це вирішує це без необхідності виявлення протоколу у вашому коді.

У мене питання, яка підтримка браузера / ОС існує для нього? Чи безпечно використовувати у виробництві? Це, безумовно, полегшило б справи.

Простий приклад і тест: http://codetester.org/916c6916

РЕДАКТИРУЙТЕ: Просто слідкуйте за тим, що я використовую це для рекламного сервера своєї компанії для багатьох речей без проблем вже пару років.


9
Відповідь тут: stackoverflow.com/questions/4659345/… --- Словом, це специфікація RFC, тому його слід підтримувати всіма основними браузерами.
Кіт

1
@Keith Спасибі, це добре і все, але переглядаючи специфікації RFC, я насправді нічого не бачу про цю початкову річ подвійної косої риски. Сподівався знайти вже остаточне тестування браузера. :)
dtbarne

Відповіді:


88

Така поведінка була частиною RFC 1808 (Розділ 4), якому вже близько 16 років, тому кожен великий браузер повинен (і робить) підтримку цього.

На жаль, є помилка з IE7 та -8, яка змусить їх завантажувати ресурси двічі, якщо URL-адреса, яка стосується протоколу, використовується на linkабо @import- що не повинно бути великою проблемою, але некрасиво і про це слід пам’ятати.


Це стара публікація, але я також хотів сказати, що це зовсім не хороша практика. Нещодавно у мене виникли проблеми на інформаційній панелі адміністратора наших клієнтів. URL-адресу //code.jquery.com/jquery-2.1.3.min.jsне знайдено, а бібліотека не завантажена. Потім я намагаюся завантажити http://code.jquery.com/jquery-2.1.3.min.jsі побачити сторінку помилки. Я підозрюю, що вони встановлені внутрішньо через налаштування безпеки проксі-сервера або VPN або брандмауера. Після оновлення URL-адреси для використання httpsпротоколу все працює добре.
TwystO

3

Якщо ви розробляєте на локальній машині, є ймовірність, що вона не вдасться src="file://host.com/filename".

У цій ситуації вам потрібно чітко вказати схему: http://host.com/filenameабо https://host.com/filename.

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