У меня есть веб-страница, серверная через https от Tomcat, с сервисворкером в соответствии с примерами для извлечения ресурса и сохранения его в кеше. Если Tomcat не запущен, страница обслуживается из хранилища кеша — пока все хорошо.
Моя конфигурация Tomcat содержит атрибут redirectPort для перенаправления http на https. У меня проблема: когда Tomcat не запущен и доступ к моей веб-странице осуществляется через http, браузер показывает: Соединение отклонено, так как перенаправление http 302 не сохраняется в кеше. Как я мог этого добиться?
JS сервис-воркер и API хранения кеша с http 302 - как кэшировать перенаправление?
Ответы (1)
К сожалению, сервис-воркеры требуют https для безопасности, поэтому сервис-воркер не может перехватывать http-запрос.
Если вы хотите, чтобы браузеры посещали вашу страницу через https, вы можете включить HSTS:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
Список HSTS можно предварительно загрузить в браузер, чтобы он работал в автономном режиме. Обратите внимание, однако, что вам нужно быть осторожным при включении HSTS, так как если вы допустили ошибку, ее может быть трудно исправить.
В качестве альтернативы браузеры постепенно переходят к загрузке https по умолчанию, если пользователь явно не вводит http. Например:
https://blog.chromium.org/2021/03/a-safe-default-for-navigation-https.html
person
Ben Kelly
schedule
26.04.2021
Хороший вопрос с HSTS, спасибо. Я забыл, что сервисному работнику требуется https (кроме 127.0.0.1/localhost).
- person Michael Enke; 01.05.2021