1. 14
  1. 6

    DNS is full of confusing jargon. At $work we do R&D closely related to DNS and run into this all the time.

    Example: what is a “base domain name”? If you go by ICANN, the BDN for “alice.github.io” is “io”, but if you go by the Public Suffix List, the “base domain” (more often called a “site” in this context), is “github.io” because that definition is more relavent for security and privacy on The Web.

    A more accurate name that someone was kind enough to invent is TLD+1 (vs eTLD+1) so it’s clear which we mean. I’ve seen “BDN” refer to both, but more commonly TLD+1.

    But somehow, in the midst of all this jargon, we still don’t have a reliable way to refer to the “+1” label in TLD+1, even though it’s the most important label in the group. In “apple.com”, what is “apple”? At work we call it the “primary name label”, though that phrase also misses the subtlety of distinguishing between TLDs and eTLDs, and isn’t widely used as far as I know. (If someone knows official terminology for this, please tell me.)

    And then there’s the hostname/FQDN/domain triplet that all pretty much mean the same thing (until they don’t).

    And then there’s the difference between a DNS proxy (sometimes called a forwarding resolver) and a DNS server, which is fairly close to the point made in the article. As far as I can tell, the difference is in whether or not the server caches responses. Or at least that’s where I think the difference should be. Some people distinguish between proxies and resolvers. Others don’t.

    Also “label” vs “subdomain”. That’s a good one. Is the “root domain” a subdomain? It’s usually considered to be an empty label. But if root is a subdomain, shouldn’t it be a subdomain of something?

    There’s more fun in DNS (think about how domains are supposed to be case-insensitive in a Unicode world (also domains aren’t necessarily Unicode and can be arbitrary bytes)), but I’ll leave it there before I get too much further off-topic.