Hi Folks,
I've got a domain where the TLD
begins with a number, which appears to be causing Apache httpd to throw a
400 error. So for example, if I try to access my Apache host at
"foo.9k", it will tell me it was a bad request.
This
got me wondering if I was unaware of some RFC that outlines TLD syntax,
so I went digging. What I found (and how I understood it), a TLD "must
be alphabetic" with the exception of unicode TLDs which have the "xn--"
prefix. That's how I read it at least, please correct me if I am wrong.
Anyways,
the reason I want to raise this question is what I found after. I
tested with different versions of Apache and different domains. This is
what I found:
FQDN: foo.9k
2.2.15 - Pass
2.4.6 - Error 400
2.4.7 - Error 400
FQDN: foo.k9
2.2.15 - Pass
2.4.6 - Pass
2.4.7 - Pass
FQDN: k9
2.2.15 - Pass
2.4.6 - Pass
2.4.7 - Pass
This was tested with Firefox 55.0.2 64-bit and curl 7.47.0.
Generally
speaking, it looks as if Apache 2.4 and up does not accept a hostname
which has a TLD starting with a number. While there is no real TLD that
contains a number, it's a bit arbitrary to say the TLD can have a number
but cannot start with one.
Anyone have any insights on this situation? (beyond why a silly person uses such a TLD in the first place :-P)
Cheers,
Jon