HTTPS и как ссылаться на файлы и изображения - PullRequest
0 голосов
/ 05 ноября 2011

Как мне ссылаться на мой файл CSS (который находится в незащищенной области) с веб-страницы в безопасной области. Я подумал о том, чтобы дублировать его (переместить один в безопасную область), но это кажется очень неэффективным.

Любой совет высоко ценится. (п.с. скорее всего будет несколько последующих вопросов, ха-ха)

1 Ответ

4 голосов
/ 05 ноября 2011

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

<link rel="stylesheet" href="/css/screen.css">

Если вы должны использовать полный URL, я не уверен, почему вы не можете использовать протокол https (что является правильным решением), но есть еще один вариант: не указывайте протокол вообще.

<link rel="stylesheet" href="//example.com/css/screen.css">

http://paulirish.com/2010/the-protocol-relative-url/

Если браузер просматривает эту текущую страницу через HTTPS, то он запрашивает этот ресурс по протоколу HTTPS, в противном случае обычно * запрашивает его по HTTP. Это предотвращает появление этого ужасного сообщения об ошибке «Эта страница содержит как защищенные, так и незащищенные элементы» в IE, сохраняя все ваши запросы активов в рамках одного протокола.

Тем не менее:

Предостережение : при использовании в <link> или @import для таблицы стилей IE7 и IE8 загружают файл дважды. Тем не менее, все остальные варианты применения вполне приемлемы.

Так что, если вам необходимо указать полный URL-адрес, лучший / правильный способ заключается в следующем:

<link rel="stylesheet" href="https://example.com/css/screen.css">

Там действительно нет альтернативы. Относительные пути к изображениям и ресурсам в самом файле CSS должны отлично работать при любом подходе и не вызовут ошибку безопасности. Если вам нужны абсолютные URL-адреса в файле CSS, вы можете использовать тот же трюк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...