Why do websites have names instead of numbers?
Machines route by number, people remember words, and the domain name system is the enormous distributed directory that translates between the two on every click.
Simple intuition
The plain reason, in everyday words
Every machine on the internet is reached by a number, because routing equipment needs something fixed-size and quick to compare. People are hopeless at that. So there is a directory: you type a name, your computer asks the directory what number that name currently points to, and then it connects to the number. The translation happens before any of the page loads, in a few thousandths of a second, and you never see it. Names buy something beyond memorability, though, and it is the more important half. A name is a level of indirection. The company behind it can move to a different machine, a different data centre or a different country, change the number the name points to, and everyone's bookmarks and links keep working. If we all used numbers, every move would break every reference to it.
The name is the address, just written differently.
They are separate things joined by a lookup. One name can point to many addresses, one address can serve many names, and the mapping can change at any moment without the name changing.
There is a central server holding all the names.
It is a hierarchy of independently operated zones with heavy caching at every level. No single machine holds the whole database, which is what makes it survivable.
A DNS change takes effect immediately.
Old answers stay in caches until their time-to-live expires, so a change propagates gradually. This is why the time-to-live is lowered in advance of a planned migration.
Encrypted DNS makes your browsing private.
It hides the query from your local network and provider, but the resolver you use sees everything, and the destination address is still visible in the connection that follows.
Indirection through a name is one of the most reusable ideas in computing: put a stable label in front of a changing thing, and everything referring to the label survives the change. Variables, file paths, service discovery and package managers all do the same. DNS is also the clearest example of a dependency so universal that its failure is indistinguishable from everything failing, which is a useful thing to recognise when a system goes dark.
Who worked it out
Early ARPANET name resolution used a single file, HOSTS.TXT, maintained centrally and distributed to every machine — workable for a few hundred hosts and hopeless beyond that.
What problem forced it
Paul Mockapetris designed DNS in 1983 to replace it with a distributed, hierarchical, cacheable system that no single organisation had to maintain.
How it changed since
Security was added afterwards rather than designed in: DNSSEC for integrity from the 1990s onward with slow uptake, and encrypted transports for privacy from the late 2010s, each solving a problem the original design had not anticipated.
How anycast routing serves one address from hundreds of places
The technique that lets a handful of addresses answer the whole world's queries.
What DNSSEC actually protects
Integrity, not privacy — and the distinction explains why encrypted DNS was needed as well.
Written for Curio rather than collected from a forum — it is part of the curated corpus that ships with the platform. The references it draws on are listed under Sources.