Why not? (Serious question, I’m a DNS engineer so this is super relevant to me)
Because it’s super old fashioned. I’d expect that most of the time you host a website, you want your default domain to be the website, because that’s almost exclusively the one people might have to type in or read.
You can use content-type
, accept
, and/or user-agent
headers to route to the appropriate non-html resources and APIs, or if you really need, those are the resources hidden behind client-specific or purpose-specific subdomains.
If they’re not making their default domain their website, then I don’t believe they take their website seriously.
There are many many reasons you don’t want to (or can’t) have the apex of your domain (what you’re calling the “default domain”) the primary domain name of your site. I thought you were going to argue in favor of like “home.[domain].com” or something.
The first and foremost issue is that if you wish to use a CDN, many CDN’s require a CNAME to function properly. You can’t have a CNAME share space with any other record (RFC 1912) which completely precludes using an MX record (for email) or TXT records for DKIM, SPF, and DMARC. (You need those for a secure email service). Having the CNAME sit as a subdomain of the apex (such as www) allows you to maintain those records in your domain while also serving people using that CNAME. (Some CDN’s such as Akamai even have special proprietary records that function like a CNAME while returning A records just to make this work)
I’m skeptical that you’re giving the full story, given the number of popular websites I see that use apex domains and have assets on the page that they’d want to deliver via CDN.
You don’t typical have your webpage itself delivered by CDN, you have your static assets delivered by CDN. Why can’t you put your static assets in a subdomain that gets a CNAME? Then your apex domain is also a host, and the webserver at the host is able to serve content / proxy according to the request headers.
If your entire website is static content, then I’m probably not taking it very seriously.