Сайт отправляет заголовок Strict-Transport-Security по HTTPS со значением max-age в секундах. С этого момента в течение указанного времени браузер переписывает любую ссылку http:// на этот сайт в https://, прежде чем что-либо отправить, и не позволяет пользователю пропускать ошибки сертификата. includeSubDomains распространяет правило на все поддомены.
Первый визит всё ещё не защищён, потому что браузер ещё не видел заголовка. Этот пробел закрывает preload-список: домены, которые отправляют заголовок с большим max-age, includeSubDomains и токеном preload, можно подать в список, встроенный в браузеры. В этом списке есть и целые TLD, например .app и .dev.
HSTS легко включить и долго отключать. Как только браузеры закэшировали большой max-age или домен попал в preload, каждый поддомен обязан работать по HTTPS с действительным сертификатом, включая внутренние и устаревшие хосты. Начните с малого max-age, проверьте все поддомены и затем увеличьте его. Заголовок игнорируется, если отправлен по обычному HTTP.
Пример
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload