|
![](/i/fill.gif) |
>> This gives me an idea... Such a sequence of numbers is a potentially
>> valid DNS name - assuming there's a TLD called 572. If we could set one
>> up, that would MESS WITH PEOPLE'S MINDS! (...and probably reveal a bug
>> or two in the various software for parsing URLs.)
>
> Ohh, I do like the idea. But can the domain- or hostnames contain only
> numbers? Hostnames ones wasn't allowed to start with one, but AFAIK
> that's overruled now.
IETF RFCs #1034 and #1035 both contain a "preferred name syntax"
(RFC-1034 section 3.5 and RFC-1035 section 2.3.1) which lists the
following grammar:
<domain> ::= <subdomain> | " "
<subdomain> ::= <label> | <subdomain> "." <label>
<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig-hyp> ::= <let-dig> | "-"
<let-dig> ::= <letter> | <digit>
<letter> ::= any one of the 52 alphabetic characters A through Z in
upper case and a through z in lower case
<digit> ::= any one of the ten digits 0 through 9
Note that while upper and lower case letters are allowed in domain
names, no significance is attached to the case. That is, two names
with the same spelling but different case are to be treated as if
identical.
The labels must follow the rules for ARPANET host names. They must
start with a letter, end with a letter or digit, and have as interior
characters only letters, digits, and hyphen. There are also some
restrictions on the length. Labels must be 63 characters or less.
However, RFC #1123 states (section 2.1):
The syntax of a legal Internet host name was specified in RFC-952
[DNS:4]. 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.
It also suggests:
If a dotted-decimal number can be entered without such
identifying delimiters, then a full syntactic check must be
made, because a segment of a host domain name is now allowed
to begin with a digit and could legally be entirely numeric
(see Section 6.1.2.4). However, a valid host name can never
have the dotted-decimal form #.#.#.#, since at least the
highest-level component label will be alphabetic.
This appears to be saying essentially what I said - there is no TLD
named 572. If there *was*, then DNS names could become ambiguous with IP
addresses...
Post a reply to this message
|
![](/i/fill.gif) |