Définition simple
HSTS (HTTP Strict Transport Security) indique au navigateur qu’un site doit être contacté uniquement en HTTPS pendant une durée définie.
Définition technique
Le serveur envoie l’en-tête HTTP Strict-Transport-Security sur une connexion HTTPS, avec une directive max-age et éventuellement includeSubDomains. Le mécanisme preload repose sur une liste intégrée aux navigateurs et nécessite des conditions supplémentaires.
Fonctionnement / rôle
Après avoir mémorisé la politique HSTS, le navigateur transforme les futures tentatives HTTP vers HTTPS avant d’envoyer la requête. Pendant la période HSTS, une erreur de certificat ne doit pas être contournée comme lors d’une navigation HTTPS ordinaire. Une politique avec includeSubDomains s’applique aussi aux sous-domaines concernés.
À quoi cela sert ?
Réduire les risques de downgrade vers HTTP et d’interception lors d’une première redirection HTTP vers HTTPS après que la politique a été apprise, ou dès la première visite pour un domaine préchargé.
Exemple concret
Un utilisateur saisit http://exemple.fr. Si le navigateur connaît déjà la politique HSTS du domaine, il ouvre directement https://exemple.fr sans effectuer de requête HTTP.
Problèmes fréquents
- Certificat expiré ou invalide après activation de HSTS
includeSubDomainsactivé alors qu’un sous-domaine n’est pas compatible HTTPS- Durée
max-agetrop longue pendant une migration - Domaine inscrit au preload alors que l’architecture n’est pas prête
Termes associés
À retenir : HSTS est une politique côté navigateur : activez-la progressivement et seulement lorsque HTTPS et les certificats sont fiables sur tout le périmètre concerné.