Tuesday, July 20, 2010

World Wide Web

A Network Architecture Example: WWW

The World Wide Web is the Big New Thing in computer networking.
History:
In 1989, Tim Berners Lee proposed a global hypertext project, to be known as the World Wide Web. Based on the earlier "Enquire" work, it was designed to allow people to work together by combining their knowledge in a web of hypertext documents. Tim Berners Lee wrote the first World Wide Web server and the first client, a wysiwyg hypertext browser/editor which ran in the NeXTStep environment. This work was started in October 1990, and the program "WorldWideWeb" was first made available within CERN in December, and on the Internet at large in the summer of 1991.
Through 1991 and 1993, Tim Berners Lee continued working on the design of the Web, coordinating feedback from users across the Internet. His initial specifications of URIs, HTTP and HTML were refined and discussed in larger circles as the Web technology spread.

A browser, or viewer program is used to fetch and display "pages" of information from a server. A page is simply an ASCII text file, written using a simple markup language called Hypertext Meta Language (HTML).

Uniform Resource Locators - URLs

The URL is the basis of the WWW. Think of a URL as an address that can lead you to any file on any machine anywhere in the world. Unlike the common postal address, however, these are written backwards. (Actually backwards makes more sense. My postal adddress is:
HP Bischof
3002 ST RT 48
Oswego, 13126 NY,
USA.
But if you want to deliver a letter to me, shouldn't you first go to the USA, then NY, then Oswego, then 3002 ST RT 48, then to HP Bischof? The URL is written in that more logical order.)
A URL defines the location of a WWW page in the following way:
service:host:port/file and resource details
For example:

http://www.cs.oswego.edu:80/~hp/445/all-2.2.html#section4
http://www.av.digital.com/cgi-bin/query?pg=q&what=web
URLs on the Web don't have to use the HTTP protocol. Some other URLs you might encounter are:
ftp
file transfer protocol
news
for Usenet news groups
telnet
for telnet
mailto
to send email to a specific address

Connection Establishment

To fetch a WWW page, the browser application process running on your local computer first establishes a connection to the remote host.
What this means is that the browser process uses the facilities of the network connecting the two computers to send a "connection request" message to a server process running on the computer whose name was given in the URL.
If the remote server process is prepared to accept the connection, it responds with a "connection accepted" message.
Note that we are, for the moment, ignoring the process of "looking up" the remote host - discovering the network address associated with its domain name.

The HTTP Protocol

Once the two application processes have an established connection between them, they can communicate reliably.
The browser then sends a request, in ordinary plain text, to the server, thus:
GET /home.html
The string GET something is one of many commands defined in the Hypertext Transfer Protocol, HTTP. The server responds by returning the contents of a file.
Finally, the browser process interprets the HTML markup in the returned file, and displays it to the user.