Contexte
Domaines d’exemple
La documentation a besoin d’adresses qui semblent réelles mais ne mènent nulle part. Certains noms sont réservés précisément à cet usage. D’autres, comme example-petstore.com, ne font que ressembler à des exemples : ce sont des domaines enregistrés ordinaires, et tout ce qui leur est envoyé atteint un serveur réel.
Noms réservés
Deux normes réservent des noms pour la documentation et les tests :
- RFC 2606 (1999) réserve les domaines de deuxième niveau
example.com,example.netetexample.org, ainsi que les domaines de premier niveau.test,.example,.invalidet.localhost. - RFC 6761 (2013) définit la manière dont les logiciels et le DNS doivent traiter ces noms à usage spécial.
L’IANA gère une page simple sur example.com et indique que les domaines d’exemple peuvent être utilisés dans des documents
sans autorisation préalable. Elle s’attend à recevoir un certain trafic provenant d’applications mal configurées et demande aux développeurs de ne rien
construire qui en dépende.
Imitations enregistrées
Des noms comme example-petstore.com, example-commerce-host.com ou my-example-blog.com contiennent le mot « example », mais ils ne sont pas réservés. N’importe qui peut les enregistrer, et dès lors chaque lien, formulaire, appel de suivi ou requête API qui les utilise parvient à ce propriétaire, y compris les identifiants qu’il contient. Les recherches sur les domaines d’imitation montrent l’ampleur possible du phénomène : une étude de 2017 a constaté que des domaines de typosquatting imitant des fournisseurs de messagerie populaires recevaient des centaines de milliers d’e-mails mal adressés par an.
Google a utilisé example-petstore.com et example-commerce-host.com dans sa documentation Analytics et Search à partir de 2009. L’historique indique où et quand.
Quels noms utiliser
| Besoin | À utiliser | À éviter |
|---|---|---|
| Un site Web | www.example.com | des noms inventés comme example-petstore.com ou mysite.com |
| Un second domaine (panier, paiement, partenaire) | example.net ou example.org | example-commerce-host.com, example-b.com |
| Des sous-domaines | shop.example.com, api.example.com | api.example-petstore.com |
| Un hôte interne ou de test | app.test, db.example | des noms d’apparence réelle sous .com ou .io |
| Une adresse qui ne doit jamais être résolue | anything.invalid | — |
| Une adresse e-mail | user@example.com | des adresses sur des domaines enregistrés |
Rôle de ce domaine
example-petstore.com et example-commerce-host.com affichent une explication sur chaque adresse, répondent aux requêtes API par
410 Gone avec une explication au format JSON, et orientent les visiteurs vers des guides étape par étape
pour supprimer ces noms de leurs sites et de leur code.
Sources
- RFC 2606: Reserved Top Level DNS Names IETF
- RFC 6761: Special-Use Domain Names IETF
- Example Domains IANA
- IANA-managed Reserved Domains IANA
- Email Typosquatting (Szurdi and Christin, IMC 2017) ACM Internet Measurement Conference