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

Reply via email to