In March 1989 Tim Berners-Lee, then working at CERN, circulated a proposal for a system to link documents across the lab's computers. His manager's note on the cover became famous: "vague but exciting". By the end of 1990 he had built a browser, a server and the first pages, running on a NeXT computer. In August 1991 he announced the project publicly, and the first website, which described the project itself, was available to anyone with the software to read it.
There was no hosting industry yet. If you wanted to publish something, you ran a server yourself, in a university department or research lab, and hoped it stayed up.
It is worth seeing how small the starting point was, because almost everything a host does today is a response to something that this first arrangement lacked.
The problem the proposal was trying to solve
CERN was a large laboratory with people constantly arriving and leaving, and a mixture of incompatible computers and document formats. Information lived in individual heads and on individual disks. When someone left, a good deal of it left with them. The proposal suggested a web of linked notes rather than a rigid hierarchy, so that a document could point at any other document, whatever machine it sat on.
The idea of hypertext was not new. What was new was combining it with the networks already connecting those machines, so a link could cross from one computer to another without the reader caring where the page physically lived.
One NeXT machine, four inventions
The work done by the end of 1990 amounted to four separate pieces, and they are still the foundations of the web. There was a way to name a document (what became the URL), a markup language to write it in (HTML), a protocol to fetch it (HTTP), and the software at either end: a browser that could also edit pages, and a server that handed them out.
The browser ran only on NeXT machines, which were expensive and rare. A simple line-mode browser followed, which worked on an ordinary text terminal, so a researcher on almost any system could read pages even if they could not see them in style. In April 1993 CERN declared the software free for anyone to use, which removed any doubt about whether building on it was allowed.
What a request looked like
The first version of HTTP, later known as 0.9, was almost absurdly short. The client opened a connection, sent a single line naming the document, and the server replied with the HTML itself and closed the connection. There were no headers, no status codes, no content types. If the document did not exist, you received a short page saying so, and nothing in the protocol told you it was an error.
GET /hello.html
Why there was no such thing as a host
A server in 1991 was a computer under somebody's desk or in a departmental machine room, reachable because the institution was already connected to the internet. Uptime depended on whether the machine was switched off, whether the building lost power, and whether its owner changed jobs. Backups were whatever the owner thought of. Names came from the institution's own DNS, so a web address was a machine name that you had to ask a network administrator to create.
Every service that a hosting company now sells is a fix for one of these gaps: someone else keeping the machine running, a bandwidth allowance that does not belong to a university, and a name you can buy rather than borrow. See the glossary if any of the terms are unfamiliar.
Commands worth running
You can watch the descendants of that first exchange from a terminal. Ask for a page using the older HTTP/1.0 style and look at what comes back besides the document:
curl --http1.0 -v http://example.com/
The lines beginning with a greater-than sign are what your client sent, and those starting with a less-than sign are the headers the server added. Everything in the second group is something version 0.9 did without.
Common questions
Was this the same thing as the internet?
No. The internet, meaning computers connected by TCP/IP, had existed for years. The web is a service running on top of it, in the same way that email is.
Could anyone view the first website?
Anyone on the internet with suitable software, which in 1991 was a short list. Wider access came with the line-mode browser and then, in 1993, with the code being released free.