To www. or not to www.


Just about everyone has an opinion on the "www." in a website name, and this one is mine.

...

Before I even go in to my opinion, let me back up a bit and say that World Wide Web != Internet. That simple concept is very key. The World Wide Web is just one part of the Internet, which is something much larger. Remember that the internet is much more than just a collection of web sites, it is also email, instant messaging, streaming videos, VPNs, and so much more.

So, with that statement out of the way, my opinion is that we should use "www." in a website name. Specifically because we are wanting the World Wide Web(site) resource of a domain, not the SMTP resource or the ftp resource or some other resource. The "www." disambiguates what resource we are wanting. Back in the day, it was not at all uncommon to have to put different resources on different systems for performance and capacity reasons. Nowadays, we often still want to put different resources on different systems, likely for security reasons and / or capability reasons.

Another non-obvious reason is that I can use DNS Therapy to change the address that a website resolves to for a company. - Why would I want to do that? - Consider the following scenario. - Suppose that a company chooses to host their website on their internal server at their office. They would configure (external) DNS so that www.domain.tld resolves to the outside IP of their internet connection, configure their router to port forward (DNAT) TCP 80/443 to their internal server's IP address on the LAN. (This is common enough.) But what happens when employees on the LAN connect to the website? With out careful planning, they connect to the external IP of their office firewalling router, which then port forwards (DNATs) the traffic in to the server. So, to the server, these employees appear as one external party. - That seems a bit inefficient doesn't it? Wouldn't it be better if the employees could connect directly to the internal server for the website just like they do for everything else? - Yes it would.

To allow the employees to connect directly to the internal web server, I simply make "www.domain.tld" resolve to the servers internal IP for the users on the office LAN. Doing this allows the employees to connect directly to the internal web server. But how do I do this with out messing up DNS for the world? Simple. I create a DNS zone named "www.domain.tld" on the internal office's DNS server (which exists for AD) that resolves www.domain.tld to the internal server's IP address. This DNS zone is ONLY seen by the employees that use the office DNS server, not the world. So, with the two different DNS servers, I can make the world see the external IP of the firewalling router and I can make the office LAN see the internal IP of the internal server. Thus the employees can connect directly to the internal server.

So, you might be thinking to yourself, "If you like www. why aren't you using it for your website?". - That's a fair question. The simple answer is I want to, but can't use it the way that I want to. As you can see, I'm ""branding my site as "dotFiles", not "TNet Consulting", which is the domain name that I purchased years ago. So, as a middle ground, I'm using dotfiles.tnetconsulting.net until I can purchase a better domain name, preferably one with "dotfiles" in it. So, for the time being, both www.tnetconsulting.net and www.dotfiles.tnetconsulting.net resolve and return a 301 redirect to dotfiles.tnetconsulting.net.

Another reason you AD admins will want to use www. is because you don't want your domain controller(s) to also be web server(s). So, if you do install IIS on them and configure it to return 301 redirects to requests for your domain name, you can redirect them to www.domain.tld. Which means that you can have your web server(s) be on different (member) servers.