5

I've been using .localhost as a TLD for locally hosted sites that I am working on. Usually when I start a new site I create an entry in the apache virutal host configuration file and then add an entry in Windows' hosts file to map the address to 127.0.0.1. The address would be something like sitename.localhost

Today I was working on a new site so I added the entry in the virtual hosts file but I forgot to add an entry to the hosts file. To my surprise the site loaded fine in Chrome without mapping the address to 127.0.0.1. However when I tried to load the site in IE and Firefox, it didn't work and my ISP's website showed up instead.

Is there a reason why Chrome does this and other browsers do not? Is this something that is supposed to happen?

3

From the Wikipedia entry for .localhost (TLD):

As a top-level domain, the name has traditionally been defined statically in host DNS implementations with address records (A and AAAA) pointing to the same loopback addresses.

However, as you have found, it would appear that it's just Chrome and later versions of Opera (possibly the WebKit browsers, so might include Safari also) that appear to do this.

  • I was hoping to get an answer that explains why they do this but I guess that is something that only the developers can explain. Thanks! – Kodos Johnson Jan 12 '16 at 0:32
  • "Why" (as I understand it) is explained above and in the linked Wikipedia article. example.localhost (TLD) has traditionally pointed to the same loopback address as localhost (domain). So that localhost (in any form) points to 127.0.0.1. Chrome (WebKit?) appears to follow this "tradition"; others do not. There is no standard in this respect, so browsers are free to do as they wish. – MrWhite Jan 12 '16 at 0:41
  • Ah yes, you are right. That does explain it. It would be cool if other browsers followed that tradition. – Kodos Johnson Jan 12 '16 at 1:11
5

From https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

There's a proposal to add the .localhost domain as a new standard, which will make lives of developers way easier. It would mean site.localhost and everything at *.localhost would automatically translate to 127.0.0.1, without /etc/hosts or dnsmasq workarounds.

Refer the RFC here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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