To www or not www
netlify.com
netlify.com
If the site did not have www, most people assumed it is probably made by kids, who do not have www yet. See, most people do not understand that www is not a domain like .com which you have to buy. So for average joe consumer, it signals strength. For an enterprise customer, it probably does too. So unless your product is for savvy users or zen-like designers, I'd stick with www.
A lot of people think that naked domain is cleaner. It is actually not, since the average mind is conditioned to read www.x.com, and you have https://x.com. It's cleaner in the sense that a face is cleaner without a nose.
I think if you have a tech target audience this doesn't matter but for general consumers, it's still an issue.
Performing your own little user study is the best way to take a stance, I believe.
As an anecdotal counterpoint, at our family Christmas, I mentioned a few different urls, spelling out "www" each time; one of my nieces said "why do you keep saying 'www'", and one of the other kids said "that's how old people find websites." After some discussion, it turned out that nearly everyone over 30 habitually wrote urls with "www" at the front, and everyone under 18 always omitted it.
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
> If the abs_path is not present in the URL, it MUST be given as "/" when used as a Request-URI for a resource (section 5.1.2).Browsers may differ on whether they auto-fix schemaless URIs, but they're all required to fix path-less URIs. So it's much "safer" to use them.
to be clear, this is not something incidental. you hear it in radio and tv commercials. there might be a relation with age, with older people forgetting the "." after "www" more often.
Otoh, our noses (and balls) are ugly as hell. We just used to them during evolution.
This doesn't make any sense to me. There's literally no correlation between "made by kids" and "doesn't have www", and no reason why anyone would ever make that association. You've provided what appears to be a bullshit justification for a completely unsubstantiated and fairly outlandish claim.
I think the younger generation, in particular, is more accustomed to the lack of www.
It also depends on your site's target audience. For a programming site or other I.T technical site it properly wouldn't matter.
For others, as recent as 2014 i still witness the following. A: What was the site address ? B: something.com A: OK. [Start typing www.something.com ]
For the majority, i.e those who dont know HN, and dont know jack about computers, WWW means website. While in recent years this is much less of a problem because Google has become our gateway to Internet and Apps taking over, WWW is still ingrained into their mindset.
And agree on the .com.
> End users save an extra DNS lookup
Most intermediate resolvers will return both the CNAME and A record in one response anyways.
Another issue with naked domains is that all the cookies are automatically served on subdomains as well. It's just another hassle to worry about when trying to keep the cdn clean or wondering why a session works only in specific cases.
"I'm curious why you say you're 'very much' in the WWW camp but you don't use it on your own site." would not have the same tendency to register as an attack.
When you see something that you might think is hostile, it's often more productive to give them the benefit of the doubt and presume that they intended good faith but have different conversational norms from you. In the best case, they meant well, and everything proceeds nicely. In the slightly worse case, they didn't mean well, but you've helped de-escalate, and things are back on track for a nice discussion. In the worst case, they get more blatant in their attacks, and at least you'll find out that productive discussion wasn't possible anyway. Not much downside, and lots of upside, in my experience.
Also my www recommendation is for commercial websites who tend to have multiple subdomains, more traffic with HA requirements, and a more complex setup than a static website.
If you are using Websockets or AJAX the connection limit can become an issue.
Also some users always write www in front of the domain. Although some browsers will just redirect to Google. So if you check browser referer a lot will be from www.google.com?q=www.yourdomain.com
* Cookies for the root domain get sent to all subdomains, so a subdomain for static content still gets flooded with cookies, slowing down requests. Now subdomains will get cookies you may not want them getting, complicating site design. You can end up sending dozens of kilobytes of cookies with each request due to the www-less cookies. The way around this is buying whole new domain names just for static content, and then duplicating SSL and all the other requirements for this new domain. Or hoping RFC 2965/6265 won't break anything using your site.
* There is a security boost by the same-origin not allowing a subdomain to hijack cookies for the root domain ("forums.foobar.com" could be made to set a cookie that "foobar.com" interprets, which can be used to hijack user sessions; this would not happen on www). This problem affected Github and they had to implement complicated workarounds.
* It is easier and more flexible to configure a round robin of frontend hosts with a CNAME (on www) than by A records on the root domain. If your cloud hosting provider's IP changes, they can change their hostname records without needing to modify your DNS records - less work for you and them. And if you think a single static anycast address could never have a routing problem, think again.
* Google will (or did in the past) ding you for duplicate content. The same content on foobar.com/ and www.foobar.com/ will appear as duplicate. Providing the content only on www separates it from other content and makes it easier to search subdomain-specific content. (This won't happen if one of them is 301 redirected to the other, however)
Reasons not to use www:
* "It looks cleaner."
People, you can 301 redirect your www-less site to www, gain all the advantages of using www, and the only "hassle" will be in how the address bar looks.
http://serverfault.com/questions/574072/can-we-have-multiple...
> Want to validate your domain for webmaster tools? Or for the DNS validation required for some domain validated SSL certificates? Now you have to add a TXT record to the apex domain. If you already have a CNAME, again, that’s not allowed.
It’s actually worse than that. All domains have, for technical DNS reasons, both a SOA record and at least one NS record in them at the “apex” domain. This would conflict with an apex CNAME record. Therefore, you can’t have a CNAME on an apex domain, even if it would otherwise be empty.
(There is a technical, and very theoretical, way around this limitation: The administrators of the top-level .com domain could, for example, add a CNAME record directly into the top-level domain zone. This would be valid, technically, but good luck convincing the various parties involved to do this.)
I always have my www.* domains alas to the site without the www. by default. While you assumed people will almost always think they're different, I'm assuming people will almost always think they're the same.
I wonder how many people get frustrated by being redirected from the www to it's naked counterpart before spamming refresh and leaving in defeated frustration... Uh oh
What Cloudflare and DNSimple are doing is the right thing. I hope that CNAME flattening or ALIAS records become some kind of standard.
There are gotchas however, since you now depend on two levels of DNS based traffic direction and we have sometimes run into issues where DNS providers offering ALIAS records simply cached one DNS respond and sent all DNS lookups to the same CDN pop regardless of their location :/
It breaks geographical CDN a bit but it works somewhat.
SRV records are far superior - its a priority and weighted list of hosts for a protocol, which could really cut down on load balancing complexity.
Also with software defined networking load balancing you can have one user facing ip be backed by many servers.
With SRV, you can set a priority, so it goes to a set of hosts first, then falls back.
You can also weight traffic so that some hosts get more than others.
(also host is actually an A (or AAAA) record - so it could have multiple values as well)
> Also with software defined networking load balancing you can have one user facing ip be backed by many servers.
Sure - but software defined (or normal) load balancing is usually inside the datacenter or region. Its another tier behind the DNS layer.
The Mozilla Bug is old enough that it is a Mozilla bug (Firefox didn't exist when it was filed): https://bugzilla.mozilla.org/show_bug.cgi?id=14328
Chromium's bug is from 2009: https://bugs.chromium.org/p/chromium/issues/detail?id=22423 (which has some interesting comments regarding DNS fallback behavior and the latency penalties incurred)
[...] If host is a registered name, the registered name is an indirect identifier for use with a name resolution service, such as DNS, to find an address for that origin server.
[...]
When an "http" URI is used within a context that calls for access to the indicated resource, a client MAY attempt access by resolving the host to an IP address, establishing a TCP connection to that address on the indicated port, and sending an HTTP request message (Section 3) containing the URI's identifying data (Section 5) to the server.
I don't think that excludes SRV-based name resolution. Some sort of standardization of course would be helpful, even if just for reference, but that could in my mind be an independent document recommending to use SRV instead for HTTP, without any detail about the version (since HTTP 2 has no property that makes it more or less fit for use with SRV records than 1.1). Adding something that's totally unclear if it ever will see any use to HTTP2 just because seems worse.
I have written about this here before:
I find anycast to be convenient even for subdomains, since it isn't affected by things like DNS caching, (although things like edns-client-subnet apparently help with that).
I'm actually currently looking for a CDN for my website. I don't like www (just personal preference) so anycast is pretty important to me, but there don't seem to be a lot of providers offering anycast for decent price. The closest I've seen is Google's Cloud CDN, which out of all the CDN's I've tried (a lot), is one of the best, but for a small site like mine I tend to get more cache misses than hits (simply due to eviction).
Maybe I'll write up a blog post about this issue :)
Akamai can serve your apex domain from their edge servers. They do it by giving different answers for the A record to different users, based on where each user is coming from. All that's required is that you use them as your NS.
Our users don't need to worry about CNAME vs A records they can do what ever they want with the IP, since we don't need to change this IP there is no benefit for using a CNAME.
On top of that SSL handshake for HTTPS happens at Google front ends which reduces the load on our servers. Also we can send traffic to different sets of VMs based on the URL! How cool is that?
I really think that Google's HTTP Load balancer is the hidden gem of Google Cloud.
Very cool - let's just hope Google is better at hiding contents of some random memory than Cloudflare.
If not, then basically on any CDN you need to trust them with the SSL certificates unless you serve your content over HTTP.
Unless you don't use a CDN at all!
But, that's not the only way to do that sort of thing. Firebase, for example, allows you to use A records pointing at their IP addresses.
Cloudflare and WordPress.com allow you to make them the authoritative server for all your records, then they provide an edit interface.
Netlify doesn't mention these as good options, probably because they don't have them to offer.
Edit: Apparently they do offer these options, but have their own reasons for preferring the CNAME approach
> When it looks up example.netlify.com, it connects to our advanced traffic director, that returns an A record with an IP address of the server from our pool of currently available CDN nodes that’s geographically closest to the end user.
It looks like the way their DNS redirects/loadbalacing work is the reason they don't simply allow A records to a static IP.
This gets into the whole "you could be redirected to other servers based on your geographical location" issue; and not necessarily your location but the location of your DNS server! I'm not sure if Netlify does this, but Akami does work with ISPs DNS servers around the world to return different results to get to the closest CDNs. This is why using Google DNS (8.8.8.8) resulted in slower loads for Akami customers.
We offer a public IP address for A records pointing to a our main load balancer. This will send all traffic to a single origin instead of serving your HTML pages out of our global CDN.
We also offer DNS hosting for pro plans and up. When you move your DNS to Netlify, the caveat about naked domains doesn't apply (as mentioned in the first paragraph), since we hook the domain record straight into our global traffic director.
For enterprise customers we also offer an anycasted IP address that lets you use our CDN with a normal A record, but we still recommend either using our DNS hosting or a www domain since the DNS based traffic direction is faster at responding to localized issues and offers more precise traffic distribution.
We can only route BGP requests to hardware we control, whereas we can add PoPs in all the major cloud providers on our DNS based network. We can then use tools like Cedexis or DYNs internet intelligence to identify where the different cloud providers have the best networking and peering agreements and piggy back on that + their DDoS mitigation. This means we get a combination of all the best AWS/Google Cloud/Rackspace/DO, etc, etc has to offer in that aspect.
On the DNS based traffic director we can also do very quick traffic decisions (20s TTL, instant changes) whereas on our BGP routed anycast IP we have to be more conservative and force 10 minute intervals between any up/down changes for a PoP.
Aside from the root domain issues (and less options for market-priced bandwidth), "GeoDNS + Cloud" pushes your traffic into someone else's ASN, which means complaints end up being sent to them, and your hosting is effectively governed not just by one, but by two different ToSes.
This isn't a big deal for a couple thousand sites (unless they're huge), but once you start getting into the hundreds of thousands, you'll see a significant spike in issues (phishing, malware, spam, DMCA, legal threats, etc.) that get sent to whomever owns that IP address. After getting too many of these complaints, those other providers can decide you're just not worth the effort and boot you off their servers.
Crazy hypothesis? Sounds like it would be, but it happens: https://twitter.com/surge_sh/status/685164708861624325. DO did the same thing to us when we tried to use them for part of our CDN early on. After that, I tried three other cloud services that either did the same thing or threatened to do the same thing (to say nothing about the ridiculously overpriced bandwidth).
The choice we were left with: Get our own AS, or die. Mind you, this was over < 30 abuse reports per month, not thousands. Most of these providers are designed for a single company or a wordpress blog, they're not designed (and not really equipped) for usage as infrastructure for a web hosting provider with hundreds of thousands (or millions) of customers.
Building out the anycast CDN was a "drinking from the firehose" experience and had some upfront costs I would have rather not paid, but it solved this existential problem for us permanently, and probably saved our life. From experience, I do think you'll have to do this eventually (or at least do GeoDNS + unicast with your own IPs and AS).
Thinking a record like `DELEGATE <comma delimited list of record types> <priority> <name server>` or _something_.
Noob question: what companies would have to jump onboard to get a new record up and running? Could it not just be one company like DNSimple who first adopts it?
My point was that your wording made it should much more like a hardware upgrade, which is on a slower cycle for sure.
And I think you'd probably good. I hear your preferred OS has a good track record for implementing new networking stuff quickly.
Most servers would likely use both protocols for quite a long time before one could be discarded.
Another detail I've noticed since wide adoption of browsers that include a single combined url/search entry field. Most people don't even care about the exact URL, they just enter the name they believe the website is, and let the search engine do the job if mistyped or inexistant. (That leads to phishing attacks).
CNAME is a solution looking for a problem.
Just use A records, everything is just better that way.
cnames are what make 'the cloud' work.
The article brings absolutely no value.