Header graphics: Explain that stuff
Custom Search
Sponsored links

You are here: Home page > A-Z index > The World Wide Web

Screenshot of websites

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?

Testing Internet networking at NASA Glenn.

Let's get one thing straight before we go any further: the Web and the Internet are two totally different things.

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

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.

Example of HTML code for a web page

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:

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

Other websites

Sponsored links

Text copyright © Chris Woodford 2006. All rights reserved.

All unattributed images (those created by Explainthatstuff.com) are licensed under a Creative Commons License.
Please kindly take a look at our copyright notes before using material from this website.
Product photos are included for illustrative purposes only.
They do not represent any endorsement by us of the products shown
or any endorsement by the product manufacturers of this website or anything we say in the text.

Please help our chosen good cause! WaterAid brings clean water and sanitation to people in 17 developing countries Water Aid logo

Share this page

Help other people find this page by bookmarking it with:

Delicious   Digg   reddit   Facebook   StumbleUpon   Google   Email it to a friend

Link to this page

If you'd like to link to this page, thank you! Here's some code you can cut and paste:

Can't find what you want? Search the Web here!

Custom Search