Что произойдет, если я принудительно установлю https для своего хостинга изображений через.htaccess, но вставлю изображение со ссылкой http?

Я создал небольшой хостинг изображений для своих собственных проектов и недавно переключил сайт на https, который работает отлично.

Теперь я создал файл.htaccess с правилом перезаписи, как описано здесь, поэтому, если я перейду к http://myservice/image.jpg он автоматически перенаправляет меня на https://myservice/image.jpg

Теперь мой вопрос, как реагируют браузеры, если я вставляю ссылку http изображения. Будет ли действовать правило перезаписи, и изображение будет передано через http или будет использоваться незашифрованный http?

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

2 ответа

Браузеры отправят отдельный запрос на встроенное изображение, так что да, затем он будет перенаправлен на https. Тем не менее, некоторые браузеры могут также предупреждать своих пользователей из-за ссылки http, что "некоторые ресурсы на этой странице не защищены".

Чтобы избежать обеих этих проблем, вам следует переписать ссылки на вашей странице или в приложении, чтобы пропустить ведущую схему и имя хоста: например,

<a href="/img.png">

вместо

<a href="http://example.com/img.png">

Затем браузер автоматически извлечет изображение из той же схемы (например, https) и имени хоста, что и страница, поэтому вы избегаете перенаправления на https и / или предупреждения для пользователей.

Кроме того, если вам действительно нужно указать домен, вы все равно можете опустить спецификацию протокола:

<a href="//example.com/img.png">

Протокол, используемый для загрузки страницы, содержащей ссылку, будет добавлен. Так что, если вышеуказанная ссылка находится на странице https://example.com/index.php тогда ссылка будет указывать на https://example.com/img.png

Я проанализировал файлы журнала сайта http и https, и, похоже, браузер запрашивает файл http, перенаправляется и передается файл https. В журналах я вижу запрос файла в обоих файлах, но я предполагаю, что передается только файл https

Другие вопросы по тегам