Предотвращение безопасных / небезопасных ошибок с помощью относительных URL-адресов протокола для источника изображения - PullRequest
13 голосов
/ 29 ноября 2010

Кто-нибудь знает, является ли проблематичным использование относительных URL-адресов протокола для источника изображения, чтобы предотвратить предупреждения безопасности смешанного содержимого.

Например, связав изображение, например:

<img src="//domain.com/img.jpg" />

вместо:

<img src="http://domain.com/img.jpg" />
or
<img src="https//domain.com/img.jpg" />

В моем тестировании я не видел ничего, что могло бы предположить, что это неправильно, но яЯ не уверен, что у него есть крайние случаи, когда это создаст проблемы.

РЕДАКТИРОВАТЬ Я видел, как это выдает ошибки при использовании PHP getimagesize функции.

Ответы [ 3 ]

14 голосов
/ 29 ноября 2010

Найден интересный способ использования относительных URL-адресов протокола:

Вы должны быть осторожны, чтобы использовать только этот синтаксис на страницах, предназначенных для браузеры. Если вы положите его в электронное письмо, не будет URL базовой страницы для использования в разрешении относительного URL. В Outlook по крайней мере, этот URL будет интерпретируется как сетевой файл Windows, не то, что вы хотели.

из здесь

По сути, нет веских причин, почему это не должно работать, если запрос выполняется браузером, а не внешним почтовым клиентом.

больше информации от здесь :

Относительный URL без схемы (http: или https :) действителен для RTF 3986: Раздел 4.2. Если клиент подавится этим, то это вина клиента, потому что они не соответствуют URI синтаксис, указанный в RFC.

Ваш пример действителен и должен работать. Я использовал этот относительный метод URL я на сайтах с интенсивным движением и было ноль жалоб. Также мы протестируйте наши сайты в Firefox, Safari, IE6, IE7 и Opera. Все эти браузеры понять, что формат URL

3 голосов
/ 29 ноября 2010

IE 7 и IE 8 будут загружать таблицы стилей дважды , если вы используете URL, относящийся к протоколу.Это не повлияет на вас, если вы будете использовать его только «для источника изображения», но на всякий случай.

0 голосов
/ 11 июля 2019

При использовании URL-адресов, относящихся к протоколу, следует учитывать следующее:

1) Все современные браузеры поддерживают эту функцию.

2) Мы должны быть уверены, что запрашиваемый ресурс доступен как по HTTP, так и по HTTPS. Если HTTP перенаправляет на HTTPS, это нормально, но здесь время загрузки займет немного больше времени, чем если бы запрос был сделан непосредственно к HTTPS.

3) Internet Explorer 6 не поддерживает эту функцию.

4) Internet Explorer 7 и 8 поддерживают эту функцию, но они будут загружать таблицу стилей дважды, если для файлов css используются относящиеся к протоколу URL.

...