web-dev-qa-db-fra.com

Est-il possible d'avoir un nom de domaine de premier niveau (un seul caractère)?

J'écris un Regex pour valider l'e-mail. La seule chose qui me déroute est:

Est-il possible d'avoir un seul caractère pour le nom de domaine de premier niveau? (par exemple: lockevn.c )

Contexte: je savais que le nom de domaine de premier niveau peut contenir de 2 caractères à n'importe quoi (.uk, .us à . Canon , .museum). J'ai lu certains documents mais je n'arrive pas à comprendre si cela autorise 1 caractère ou non.

60
Thach Lockevn

Il est techniquement possible, cependant, il n'y a pas de TLD à un seul caractère qui ont été acceptés dans la racine (pour le moment), donc la réponse est:

Oui , il c'est possible d'avoir un seul caractère pour le nom de domaine de premier niveau, cependant , il n'y a actuellement aucun TLD à un seul caractère à la racine.

Vous pouvez voir la liste des TLD qui sont actuellement à la racine à cette URL:

La RFC-952 montre ce qu'est un "nom", cela inclut ce qui est valide en tant que domaine de premier niveau:

A "name" (Net, Host, Gateway, or Domain name) is a text string up
to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
sign (-), and period (.).

De plus, la grammaire de RFC-952 montre:

 <name>  ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]

La section 2.1 de la RFC-1123 a spécifiquement autorisé les domaines et sous-domaines à lettre unique, changeant la grammaire initiale de RFC-952 de commencer avec juste une lettre à être plus détendu, donc maintenant vous êtes autorisé à avoir des domaines de premier niveau à lettre unique qui sont un nombre:

2.1  Host Names and Numbers

   The syntax of a legal Internet Host name was specified in RFC-952.
   One aspect of Host name syntax is hereby changed: the
   restriction on the first character is relaxed to allow either a
   letter or a digit.  Host software MUST support this more liberal
   syntax.

EDIT: Selon le commentaire de @ mr.spuratic, la section 2 de la RFC-3696 a resserré les règles pour les domaines de premier niveau, en déclarant:

     There is an additional rule that essentially requires
     that top-level domain names not be all-numeric.

Cela signifie que:

  • a. est un domaine de premier niveau valide
  • 1. n'est pas un domaine de premier niveau valide

Un test très non scientifique de cela montre que si j'ajoute "a" dans mon fichier hosts pointant vers ma machine locale, aller à http://a dans ma barre d'adresse affiche ma page d'accueil Apache.

66
Tim Groeneveld