World Wide Web

Major problems with the net (circa 1994) WWW is the best answer to these major problems so far WWW - mixes content with menus.  Gopher - separate content and menus. Publishing model Business model URL - Uniform Resource Locator Client - Web browser Browser history Browser features Role of MIME

Hyper Text Transport Protocol - HTTP

References

Simple page transfer scenario <figure 7-59 Tanenbaum>
  1. Browser displays default page
  2. User enters URL (http://www.site.domain/~person)
  3. Browser library call resolves hostname to IP address via DNS server
  4. Browser makes TCP connection to port 80 of host
  5. Browser sends a GET command for page ~person/Welcome.html
  6. Server www.site.domain sends desired HTML page
  7. TCP socket connection is closed
  8. Browser interprets HTML, displays page
  9. Browser establishes separate connections for images, may use threads

The server side

The httpd daemon is waiting for incoming connection requests.  When it hears one it: HTTP is built on TCP. Version 1.1 came out fall of 1997. This brings up some questions: Their are seven built-in methods to HTTP, and a means of extending the protocol. Each request is followed by a status line, optionally followed by data (e.g. the URL content from a GET). The built-in methods are The request would look like this The status replies are things like A redirect response can be sent by a server when a URL is requested that the server knows isn't right (for example, when you ask for someone's home page without including the ending /) or when a URL has a redirect in it (e.g. someone moved the page and didn't want everyone to get 404s on the old URL). The redirect is put in the .htaccess file in the URLs directory, or in the server's configuration file.

After the response code comes the response header

Performance

The first version of HTTP was really inefficient. One request per socket meant multiple socket setups per page. Various things have been done to improve performance and waste less bandwidth.

Keep-Alive

Caching Proxy servers

Configuration of web server

Logging

Errors

Client types