Ce que mesure le TTL
Quand un internaute ouvre votre site, son fournisseur d'accès demande l'adresse du domaine aux serveurs DNS qui le gèrent, puis garde la réponse en cache. Tant que le TTL n'est pas écoulé, il resservira cette réponse sans redemander. Si vous changez l'adresse pendant ce temps, ce fournisseur continue d'envoyer ses abonnés vers l'ancienne jusqu'à expiration.
La RFC 2181 fixe le cadre : un TTL est un nombre de secondes, de 0 à 2 147 483 647. Elle précise qu'il s'agit d'une durée maximale, et que chaque serveur reste libre de garder moins longtemps. Elle demande aussi que tous les enregistrements d'un même nom et d'un même type portent le même TTL.
Les valeurs courantes
| TTL | Durée | Usage |
|---|---|---|
| 300 | 5 minutes | bascule imminente, adresse qui change souvent |
| 3 600 | 1 heure | valeur courante pour un site |
| 14 400 à 86 400 | 4 heures à 1 jour | enregistrements qui ne bougent presque jamais |
Il n'y a pas de bonne valeur universelle. Un TTL court rend les changements rapides au prix de requêtes plus nombreuses, sans effet visible pour un site ordinaire. Un TTL long ne fait gagner presque rien et ralentit chaque correction. Chez Cloudflare, la valeur « Auto » vaut 300 secondes, et un enregistrement passé par son proxy garde toujours cette valeur, d'après sa documentation sur le TTL.
Lire le TTL d'un enregistrement
La commande dig, disponible sous macOS et Linux, affiche le TTL dans la deuxième colonne de la réponse :
dig A exemple.fr
exemple.fr. 3600 IN A 203.0.113.10
Interrogé auprès d'un serveur de cache, ce chiffre décroît à chaque nouvelle demande : il indique le temps qui reste avant que ce serveur ne redemande. Pour lire la valeur réglée dans la zone, interrogez directement un serveur qui fait autorité pour le domaine, dont le nom se trouve avec dig NS exemple.fr +short :
dig A exemple.fr @ns1.netim.net
Remplacez ns1.netim.net par l'un des serveurs que la commande dig NS vous a renvoyés.
Baisser le TTL avant un changement
C'est le seul réglage de TTL qui demande de l'attention. Le principe tient en une règle : baissez le TTL des enregistrements à modifier (A, AAAA, MX) au moins une durée d'ancien TTL avant le changement, puis remontez-le une fois que tout fonctionne. Les deux gestes à retenir :
- Baisser trop tard ne sert à rien : les caches gardent l'ancienne valeur pour toute la durée qu'ils avaient reçue.
- Vérifier avec `dig` auprès d'un serveur qui fait autorité, comme plus haut, avant de conclure.
L'ordre complet d'une bascule, ancien hébergement gardé en route compris, est dans La propagation DNS.
Ce que le TTL ne règle pas
- Le changement de serveurs de noms. Les serveurs de noms d'un domaine sont publiés par le registre de l'extension, avec son propre TTL, que vous ne réglez pas. Un changement de serveurs DNS prend donc souvent plus longtemps qu'un changement d'adresse. Voir Changer les serveurs DNS.
- Les réponses négatives. Un nom qui n'existait pas reste « inexistant » dans les caches pendant une durée fixée par l'enregistrement SOA de la zone, d'après la RFC 2308. Un sous-domaine tout juste créé peut donc rester introuvable un moment pour qui l'a cherché trop tôt.
- Les caches locaux. Le navigateur et l'ordinateur gardent aussi les réponses. Vider le cache DNS les remet à zéro.
Chez Hubspace
Nous n'hébergeons pas de zone DNS publique : le TTL se règle chez le gestionnaire de votre zone. Pour un domaine enregistré chez nous, c'est par défaut la zone servie par notre bureau d'enregistrement partenaire, Netim, que vous modifiez vous-même ou que nous réglons pour vous sur simple demande. Lors d'une migration, nous préparons votre site avant de toucher au domaine et vous envoyons les valeurs à saisir : baisser le TTL la veille rend la bascule plus rapide.
Questions fréquentes
Un TTL court ralentit-il mon site ?
Pas de façon perceptible. Il ajoute une requête DNS de temps en temps chez les visiteurs dont le cache a expiré, quelques millisecondes à chaque fois. Un TTL de 300 secondes reste un réglage normal.
Pourquoi mon changement n'apparaît pas alors que le TTL est écoulé ?
Plusieurs caches s'empilent : celui du fournisseur d'accès, celui de l'ordinateur et celui du navigateur. Vérifiez avec dig auprès d'un serveur qui fait autorité ; si la nouvelle valeur y est, le reste suivra.
Peut-on mettre un TTL à zéro ?
La norme l'autorise, mais beaucoup de gestionnaires de zone imposent un minimum, souvent 60 ou 300 secondes. Pour une bascule, un TTL très bas n'apporte rien qu'un TTL de 300 secondes ne fasse déjà.
Articles liés
- Enregistrement DNS : A, AAAA, CNAME, MX et TXTLes enregistrements DNS d'un domaine expliqués : A, AAAA, CNAME, MX, TXT et NS, à quoi chacun sert et comment pointer un domaine vers un site.
- Enregistrement MX : le lire, le modifierL'enregistrement MX désigne les serveurs qui reçoivent le courrier de votre domaine : priorité, valeurs, modification pas à pas et erreurs à éviter.
- Enregistrement CNAME : usage et limitesLe CNAME fait d'un sous-domaine l'alias d'un autre nom : quand l'utiliser, pourquoi le domaine nu ne peut pas en porter, et comment le créer.