Tutorial #7

  1. Give some of the reasons why HTTP/1.0 is/was not a highly regarded protocol in the Internet technical community. How does HTTP/1.1 address these problems? At least two points required.

  2. This question refers to Web caching.
    1. Why does a Web browser normally cache downloaded objects (HTML pages, images, etc). In particular, why is caching particularly effective for (some) Web images? The answer is probably obvious, but it's worth checking that you do know this.

    2. In HTTP/1.0 the only mechanisms to support correct operation of caching were the "Last-modified:", "Expires" and "Pragma: no-cache" response headers. What is the effect and usefulness of each of these header types?

    3. The "<META HTTP-EQUIV=..." HTML markup can be used to have some of the effect of HTTP/1.0 response headers. These are only useful for controlling browser (not proxy) caches, and have limited usefulness. Explain.

    4. Why is it necessary, when a Proxy Server is in use, to specify a full URL in the HTTP request? If a request is made to, for example, a local server (for which the proxy is not involved) is the full URL needed?

    5. Proxy servers can reduce network (download) costs for an organisation, and make best possible use of the organisation's link to the Internet, however they are not altogether successful in practice -- typical "hitrates" are around 30-40% of all requests. Give two reasons why proxy caches are not able to satisfy the majority of Web requests in The Real World(tm).

    6. Some Web browsers seem to (on occasion) cache a little too aggressively. One common browser, in particular, will use a cached copy of a Web page even when the user hits the "Reload" (or "Refresh") button. One way to force a reload is to append a "?" character to an ordinary (static) URL and then load (or reload) the page. Why do you think this works?

    7. Practical question: on your preferred Web browser, is it possible to configure how often cached objects are checked for consistency?

  3. HTTP/1.1 introduced the "Cache-Control:" response header. Give some examples of how this can provide control over the operation of Web caches.

  4. When an HTTP/1.1 proxy server returns a cache "hit" (ie, the requested entity was available in its cache), it adds an extra "Age:" response header, eg "Age: 110". What do you think this indicates?

  5. What is the particular usefulness of the HTTP/1.1 "Etag:" response header? Briefly describe why it is considered superior to the similar HTTP/1.0 mechanism.

  6. Contemplate this: the specification for the original version of HTTP (0.9) was approximately 6 Kbytes in size. The RFC for HTTP/1.0 (RFC1945) was 134 Kbytes. The RFC for the current version of HTTP/1.1 (RFC2616) is 412 Kbytes, plus another 77 Kbytes for the accompanying RFC2617. What, if any, conclusions can you draw?

See Prac #7 for the practical exercises accompanying this tutorial.
La Trobe Uni Logo
Copyright 2004 by Philip Scott, La Trobe University.
Valid HTML 3.2!