65

I never believed URLs could have a period at the end, as in www.google.de. (which obvious is not working).

However, www.youtu.be. is working perfectly well. How did they manage that?

5
  • 10
    The trailing . [dot] is actually correct, but systems make the assumption for you generally at the DNS level. So any .com site would actually be google.com. and this in theory should work, however, it may be that a browser will not expect this and fail to package the request correctly or if they do, then the DNS you are using does not understand it correctly. It is unusual that a user actually uses the dot and by default it is not required by the user.
    – closetnoc
    Commented Dec 12, 2014 at 15:53
  • 3
    www.google.de. works fine for me. Commented Dec 12, 2014 at 16:11
  • 6
    It's DNS magic. . is the overlord TLD, then you have gTLDs :)
    – CodeAngry
    Commented Dec 12, 2014 at 22:41
  • 3
    Teechnically, this is not a URL but a hostname. An additional dot at the end of a URL (http://example.com/path/file. vs. http://example.com/path/file) can make a difference. For example, if the path translates to a file and the underlying OS and filesystem distinguishes file.from file. I guess I need not mention that http://example.com/path/file?foo=bar. and http://example.com/path/file?foo=bar are also very different. urls Commented Dec 14, 2014 at 8:40
  • It's also possible that the web server is not configured to accept connections destined for that hostname. When web servers using name-based virtual hosting process a Host header from an incoming request, there is no guarantee that it will treat it as if the . was not there. I just verified that with a site I am running on Amazon S3.
    – Brandon
    Commented Dec 14, 2014 at 15:23

3 Answers 3

70

From here

It's a little-known fact, but fully-qualified (unambiguous) DNS domain names have a dot at the end. People running DNS servers usually know this (if you miss the trailing dots out, your DNS configuration is unlikely to work) but the general public usually doesn't. A domain name that doesn't have a dot at the end is not fully-qualified and is potentially ambiguous. This was documented in the DNS specification, RFC 1034, way back in 1987:

Since a complete domain name ends with the root label, this leads to a printed form which ends in a dot. We use this property to distinguish between:

  • a character string which represents a complete domain name (often called "absolute"). For example, "poneria.ISI.EDU."

  • a character string that represents the starting labels of a domain name which is incomplete, and should be completed by local software using knowledge of the local domain (often called "relative"). For example, "poneria" used in the ISI.EDU domain.

The source of this content continues to explain this in more detail.

2
  • 7
    Not only does the general public not know this, but I commonly see email validators that explicitly disallow a trailing dot.
    – Kevin
    Commented Dec 13, 2014 at 19:13
  • 3
    @Kevin as well they should, both RFC2822 and RFC5322 prohibit a trailing period. They define the domain part as dot-atom, which is one more more atoms (an atom being one or more characters from an alphabet given in the RFC) separated by periods. See RFC5322 §3.4.1 and §3.2.3
    – derobert
    Commented Dec 19, 2014 at 8:22
54

Hostnames without a trailing dot are potentially ambiguous. A trailing dot means that the hostname is fully qualified and may not be relative to the local search domain.

Imagine you are a student of the (fictive) Example University which has the second-level domain example.edu. Inside the university's campus network you can omit the .example.edu suffix for ease and lazyness. So if you want to surf to www.example.edu and are on-campus, you just have to surf to www and it works.

Now imagine the university has an institute for artificial intelligence ("AI") and their website is hosted on www.ai.example.edu. If you're on-campus, surfing to www.ai will suffice since you can omit the .example.edu suffix.

So far, so good. But now you want to surf to the "Offshore Information Services" company, which runs Anguilla's top-level domain .ai. Their website is at http://www.ai/ — but if you enter that URL into your web browser while being on campus, you'll land on the website of the institute for artificial intelligence instead.

So you need to tell the web browser that you really want to go to the website with the top-level domain .ai and not to the one with your university's subdomain .ai.example.edu. That's where the dot is important, because http://www.ai./ will always work independent of the local DNS search domain.

Analogous to the dots between the different domain levels, the last dot represents the root of the DNS, i.e. it states that the word before that dot is a top-level domain and no domain relative to the search domain.

13
  • 7
    It isn't the browser that does that, it is the DNS resolver. The DNS resolver on my computer is set to use a domain name as the "search domain" which causes this behavior. It is an operating system setting, not a browser setting. Commented Dec 12, 2014 at 18:15
  • 3
    Unfortunately for the students of Example University, adding the trailing . often confuses various vhosting configurations, and it'll stop working for any absolute links (which a lot of sites also use, too).
    – fluffy
    Commented Dec 12, 2014 at 21:20
  • 1
    @fluffy: Yes, of course, if the web server uses virtual host configurations, those shortened hostnames must be listed in the vhost configuration, too. Commented Dec 12, 2014 at 21:24
  • 1
    @kinokijuf: I'd consider such behaviour a bug. The browser hasn't to decided if I want to use the searchdomain feature of my DNS resolver or not. Commented Dec 12, 2014 at 21:25
  • 1
    @XTaran Yep, but whether the www.ai.example.edu site has its vhosts configured correctly or not, the DNS resolution will still screw up if www.ai has an absolute link to http://www.ai/something, and if the www.ai server's httpd doesn't understand www.ai. as a configured host for some reason, you still can't browse it as http://www.ai./ either.
    – fluffy
    Commented Dec 12, 2014 at 21:51
-5

I think the answer is that most Internet tools just drop the . or treat it as extra path information.

Note that this is a very tricky illusion. youtu.be is not youtube.be. Not sure, but this might be abuse.

3
  • 3
    youtu.be is a domain by youtube. It's used for shorter links for example when sharing or embedding videos.
    – kapex
    Commented Dec 12, 2014 at 18:33
  • note to @CareyB: that's probably okay, since 'youtu.be' is youtube's no-longer-that-recently-introduced URL shortener for youtube videos; just pop on the ID of a video (e.g. for a video [hmm, by someone that apparently does NOT understand CC-BY-SA] about FQDN naming mentioning that the root domain is an empty string, and thus leaves a dot at the end, located at youtube.com/watch?v=qHAb3Foa1Nw you can use youtu.be/qHAb3Foa1Nw Commented Dec 12, 2014 at 18:41
  • 14
    -1; incorrect, and the youtu.be/youtube.be distinction has nothing to do with this issue at all.
    – fluffy
    Commented Dec 12, 2014 at 21:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.