Quels sont les caractères valides qui peuvent apparaître dans un hôte URL?
Je suis en train d'écrire du code qui traite les Url, et je veux m'assurer que je ne suis pas en laissant certains cas étrange...
Existe-il des caractères valides pour un hôte autre que: A-Z, 0-9, "-" et "."?
(Ce qui inclut tout ce qui peut l'être dans les sous-domaines, etc. Esentially, quelque chose entre l' ://et le premier /)
Merci!
source d'informationauteur Daniel Magliola
Vous devez vous connecter pour publier un commentaire.
Veuillez voir Restrictions en matière de validité des noms d'hôte:
non, c'est tout ce qui est autorisé
ici est une référence si vous souhaitez lire:
http://www.ietf.org/rfc/rfc1034.txt
Dépend à quel niveau vous ne la validation (avant ou après l'URL de s'échapper).
Si vous essayez de valider la saisie de l'utilisateur, alors il peut aller bien au-delà de l'ASCII (avec de gros morceaux de l'Unicode).
Voir http://en.wikipedia.org/wiki/Internationalized_domain_name
Si vous essayez de valider après tout, l'échappement et l' "punycode" est fait, il n'y a pas de point de validation, puisque c'est déjà garanti pour contenir uniquement des caractères valides par l'ancien RFC.
Garder à l'esprit que, outre le nom d'hôte règles de l'Internet, les systèmes DNS sont libres de créer des noms qu'ils aiment. Les serveurs DNS pourrait accepter et de répondre à 8 bits binaires demandes: le DNS fil protocole ne l'interdit pas.
Cela signifie que pour le LAN interne Url que vous pourriez avoir des règles différentes, comme le soulignent apparaître dans un nom d'hôte.
Si vous voulez écrire URL d'analyse de code qui correspond parfaitement à l'officiel du W3C spec, voir le document à http://www.w3.org/TR/url-1/. Voir la section 3 (Hôtes) pour des informations spécifiques sur les hôtes dans les Url.