
The World Wide Web (WWW)
Last updated: December 5, 2009.
Twenty or thirty years ago, there was
something you could take for
granted: you could walk into a public library, open up a reference
book, and find information on almost any subject you wanted. What we
take for granted nowadays is that we can sit down at practically any
computer, almost anywhere on the planet, and access an online
information library far more powerful than any public library on Earth:
the World Wide Web. Twenty-first century
life is so dependent
on the Web that it seems remarkable we ever lived without it. Yet the
Web was invented less than 20 years ago and has been a huge popular
success for only about half that time. One of the greatest inventions
of all time... is also one of the newest!
Photo: Our gateway to the world: the World Wide Web (WWW).
What's the difference between the Web and the Net?

Let's get one thing straight before we go any further: the Web and
the Internet are two totally different
things.
- The Internet is a
worldwide network of computers,
linked mostly by telephone lines; the
Web is just one of many things (called applications)
that can run on the Internet. When you send an email, you're using the Internet:
the Net sends the words you write over telephone lines to your friends.
When you chat to someone online, you're most likely using the Internet
too—because it's the Net that swaps your messages back and forth.
But when you update a blog or Google for information to help you
write a report, you're using the Web over the Net.
- The Web is the worldwide
collection of text pages, digital
photographs, music files,
videos, and
animations you can access over the Internet. What makes the Web so
special (and, indeed, gives it its name) is the way all this
information is connected together. The basic building blocks of the Web
are pages of text, like this one—Web pages as
we call them. A
collection of Web pages on the same computer is called a website.
Every web page (including this one) has highlighted phrases called links
(or hypertext links) all over it. Clicking
one of these takes
you to another page on this website or another website entirely. So
far, so simple.
Photo: Imagine this little computer network scaled up several hundred million times... and
you have a picture of the Internet. Photo courtesy of NASA Glenn Research Center (NASA-GRC).
How computers can talk the same language
The really clever thing about the Internet is that it allows practically
every computer on the planet to exchange information. That's a much
bigger deal than it sounds. Back in the
earlier days of computers,
in the 1960s, 1970s, and 1980s, it was
rare for computers to be able to exchange information at all. The
machines made by one manufacturer were often totally incompatible with
those made by everyone else. In the 1970s, early personal computers
(which were called microcomputers) could not even run the same
programs. Instead, each type of computer had to have programs written
specially for it. Hooking computers up together was possible, but
tricky.
So most computers were used as standalone machines, like gigantic
pocket
calculators. Things like email and chat were all but impossible, except
for a handful of boffins who knew what they were doing.
![Apple ][ microcomputer in a museum glass case](http://cdn.explainthatstuff.com/appleII.jpg)
Photos: Microcomputers like this Apple ][ sold in the hundreds of thousands in the late 1970s
and early 1980s, but machines made by one company couldn't share information with those made by other manufacturers.
All this began to change in the 1980s. The first thing that happened
was that IBM—the world's biggest computer company, famous for its "big
blue" mainframes—introduced a personal computer for small businesses.
Other people started to copy it and, pretty soon, all personal
computers
started to look and work the same way. Microsoft came up with a
piece of software called Windows that allowed all these
"IBM-compatible" computers to run the same programs. But there was a
still a problem getting machines like home computers talking to giant
machines in science laboratories or big mainframes in large companies.
How could computers be made to talk the same language?
The person who solved that problem was English computer scientist
Tim Berners-Lee (1955–). In the 1980s, he was working at CERN, the
European particle physics laboratory, which is staffed mostly by people from universities around the
world who come and go all the time, and where people were using all kinds of
different, incompatible computers.
Berners-Lee realized CERN had no "memory": every time
people left, they took useful information with them. A related problem
was that people who used different computers had no easy way of
exchanging their research.
Berners-Lee started to wonder how he could get all of CERN's
computers—and people—talking together.
What's the difference between HTTP and HTML?
Although early computers were pretty incompatible, almost all of
them
could store or process information using ASCII
(American Standard Code for Information Interchange), sometimes known
as "plain text." In ASCII, the numbers 0-255 are used to represent
letters, numbers, and keyboard characters like A, B, C, 1, 2, 3,
%, &, and @. Berners-Lee used ASCII to come up with two basic
systems of rules (known in computer terminology as protocols).
If all the computers at CERN followed those two rules, he realized they
could
exchange any information very simply.
He called the first rule HTTP (HyperText
Transfer Protocol).
It is essentially a way for two computers to exchange information
through a simple "conversation," whether they're sitting next to one
another in the same room or on opposite sides of the world.
One computer (which is called a client and
runs a program called a web
browser) asks the other computer (which is called a server
or web server) for the information it needs
with a series of
simple messages. The web browser and the web server then chat away for
a few seconds, with the browser sending requests for the things it
wants and the server sending them if it can find them.
The HTTP conversation between a web browser and and a web server is a
bit like being at a dinner table when someone says: "Pass the salt,
please", someone else says "Here it is", and the first person says
"Thank you."
HTTP is a sort of simple, polite language that all computers have
learned to speak so they can
swap files back and forth over the Internet.

Photo: An example of the HTML from one of our Web pages. The little codes you can see inserted are bits of HTML, which identify parts of the text as headings, paragraphs, graphics and so on. For example, new paragraphs are marked out with <p>.
A computer also needs to be able to understand any files it receives
that have been sent by HTTP.
So Berners-Lee introduced another stroke of genius.
His second rule was to make all the CERN computers exchange files
written in a common language called HTML
(HyperText Markup
Language). It was based on ASCII, so any computer could understand it.
Unlike ASCII, HTML has special codes called tags
to
structure the text. A Web browser can read these tags and use them to
display things like bold font, italics, headings, tables, or images.
Incidentally, for the curious among you: you can see what the "secret"
HTML behind any web page looks like by right clicking your mouse on a
web page and then selecting the View source
or View page source option.
Try it now!
HTTP and HTML are "how the Web works": HTTP is the simple way in
which one computer asks another one for Web pages; HTML is the way
those pages are written so any computer can understand them and display
them correctly. If you find that confusing, try thinking about
libraries. HTTP is like the way we arrange and access books in
libraries according to more or less
the same set of rules: the fact that they have books arranged on
shelves, librarians
you can ask for help, catalogues where you can look up book titles, and
so on. Since all libraries work roughly the same way, if you've been to
one library, you
know roughly what all the others are like and how to use them.
HTML is like the way a book is made: with a contents at the front, an
index at the back, text on
pages running left to right, and so on. HTML is how we structure
information so anyone can read it. Once you've seen one book, you know
how they all work.
When Browser met Server
Web browsers (clients) and servers converse not in English, French, or German—but HTTP: the
language of "send me a Web page", "Okay, here it is." This is a brief example of how your browser
could ask to see our A-Z index page and what our server would say in response. The actual
page and its information is sent separately.
What the browser asks for
GET /azindex.html HTTP/1.1
Host: www.explainthatstuff.com,
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.15) Gecko/2009102814 Ubuntu/8.04 (hardy) Firefox/3.0.15,
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
Accept-Language: en-gb,en;q=0.5,
Accept-Encoding: gzip,deflate,
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7,
Keep-Alive: 300,
Connection: keep-alive,
Cookie: __utma=162944488.1463425871.1237919759.1238774341.1238788258.59;
__utma_a2a=1.6988091450.1245774486.1246728097.1247485960.11,
What the server replies
HTTP/1.1 200 OK
Date: Sat, 05 Dec 2009 08:07:40 GMT,
Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4,
Last-Modified: Fri, 04 Dec 2009 17:24:07 GMT,
Etag: "a474aba-17e9b-479ea6009898c",
Accept-Ranges: bytes,
Content-Length: 97947,
Content-Type: text/html,
What does it all mean? Briefly, the browser is explaining what software it is (Firefox), what operating system I'm running
(Linux), which character-sets (foreign fonts and so on) it can accept, and which file it wants (azindex.html). The server is sending the file along with data about how long it is (97947 bytes) and what format it's in (text/html).
Note: I captured this data with help from the splendid Firefox add-on
Live HTTP headers.
What is a URL?
There was one more clever thing Berners-Lee thought of—and that was a
way for any computer to locate information stored on any other
computer.
He suggested each web page should have something like a zip code, which
he called
a URL (a Universal or Uniform Resource
Locator).
The URL is the page address you see in the long bar at the top of your
Web browser.
The address or URL of this page is:
http://www.explainthatstuff.com/howthewebworks.html
What does all that gobbledygook mean? Let's take it one chunk at a
time:
- The http:// bit means your computer can
pull this page off my computer using the standard process called HTTP.
- www.explainthatstuff.com is the address
or domain name of my computer.
- howthewebworks.html is the name of the file you're currently
reading off my computer.
- The .html part of the filename tells
your computer it's an HTML file.
Taken all together, that stuff tells your computer where to find this
page on my computer, how to access it, and what to do with it to
display it correctly.
And that's how the Web works!
Further reading
On this site
Books
- Berners-Lee, Tim with Mark Fischetti. Weaving the Web: The
Original Design and Ultimate Destiny of the World Wide Web by its
Inventor. San Fransisco, California: HarperCollins, 1999. Tim
Berners-Lee tells his own story of what he hopes to achieve with the
World Wide Web.
- Moschovitis, Christos, Hilary Poole, Laura Lambert, and Chris
Woodford. The Internet: A Historical Encyclopedia. Santa Barbara, California: ABC-Clio: 2005. A three-volume history
of the Internet, including a chronology, a book of biographies, and a
look at the key issues challenging the Internet's development.
- Rojas, Rául (ed). Encyclopedia of Computers and Computer
History. Chicago: Fitzroy Dearborn, 2001. A definitive two-volume
history. Ask your library to order it if you can't find it.
Other websites