Tutorial #7
- 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.
- This question refers to Web caching.
- 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.
- 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?
- 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.
- 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?
- 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).
- 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?
- Practical question: on your preferred Web browser, is it possible to
configure how often cached objects are checked for consistency?
- HTTP/1.1 introduced the "
Cache-Control:
" response
header. Give some examples of how this can provide control over the operation
of Web caches.
- 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?
- 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.
- 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.
Copyright © 2004 by Philip
Scott, La Trobe University.