By Duane Wessels
Price: $39.95 USD
£28.50 GBP
Cover | Table of Contents | Colophon
http://www.squid-cache.org
http://home.netscape.com/proxy/v3.5/index.html
http://www.microsoft.com/isaserver/
http://www.volera.com
http://www.nlanr.net/index.html.
When the client is not configured to use a proxy, it
connects directly to the origin server
(www.nlanr.net) and
writes this request:GET /index.html HTTP/1.1 Host: www.nlanr.net Accept: */* Connection: Keep-alive
Host header. The Host
header is an HTTP/1.1 feature, primarily intended to support
virtual hosting of multiple logical web sites on one
physical server (one IP address). If the origin server is
not serving virtual domains, the http://www.nlanr.net/index.html.
When the client is not configured to use a proxy, it
connects directly to the origin server
(www.nlanr.net) and
writes this request:GET /index.html HTTP/1.1 Host: www.nlanr.net Accept: */* Connection: Keep-alive
Host header. The Host
header is an HTTP/1.1 feature, primarily intended to support
virtual hosting of multiple logical web sites on one
physical server (one IP address). If the origin server is
not serving virtual domains, the Host header is redundant.
Note that we can rebuild a full URL from the request line
and the Host header.
This is an important feature of HTTP/1.1, especially for
interception proxies.GET http://www.nlanr.net/index.html HTTP/1.1 Host: www.nlanr.net Accept: */* Proxy-connection: Keep-alive
Host header. This may seem redundant,
but when HTTP/1.0 and proxying techniques were
invented, the Host header did not exist.
Cache-control directivesCache-control directive. Some status
codes are cachable by default, but authentication and
Cache-control take precedence.Expires header and
the max-age cache control directive.
The Expires header has been in use since HTTP/1.0. Its
value is the date and time at which a response becomes
stale, for example:Date: Mon, 19 Feb 2001 01:46:17 GMT
Last-modified header that specifies the time when the
resource was last changed on the origin server. The
Last-modified timestamp is given in Greenwich Mean Time (GMT)
with one-second resolution, for example:HTTP/1.1 200 OK Date: Sun, 04 Mar 2001 03:57:45 GMT Last-Modified: Fri, 02 Mar 2001 04:09:20 GMT
If-modified-since header of
a conditional GET request.GET http://www.ircache.net/ HTTP/1.1 If-Modified-Since: Wed, 14 Feb 2001 15:35:26 GMT
Date and Expires.
If the server's response is not 304, the cache treats
the server's response as new content, replaces the cached
object, and delivers it to the client.Cache-control
directives, the two most common of which are
no-cache and max-age.
We'll discuss no-cache first because it
has been around the longest.no-cache directive notifies a cache
that it cannot return a cached copy. Even if a fresh
copy of the response—with a specific expiration
time—is in the cache, the client's request must be
forwarded to the origin server.
RFC 2616 calls such a request an
"end-to-end validation" (Section 14.9.4). The
no-cache directive is sent when
you click on the Reload button on your
browser. In an HTTP request, it looks like this:GET /index.html HTTP/1.1 Cache-control: no-cache
Cache-control header
does not exist in the HTTP/1.0 standard. Instead, HTTP/1.0
clients use a Pragma header for the
no-cache directive:Pragma: no-cache
no-cache is the only
directive defined for the Pragma
header in RFC 1945.
For
backwards compatibility, RFC 2616 also defines the
Pragma header. In fact, many of the
recent HTTP/1.1 browsers still use Pragma
for the no-cache directive instead of the
newer Cache-control.no-cache directive does not
necessarily require the cache to purge its copy of the
object. The client may generate a conditional request (with
If-modified-since or another validator),
in which case the origin server's response may be 304 (Not
Modified). If, however, the server responds with 200 (OK),
then the cache replaces the old object with the new one.no-cache and
If-modified-since is tricky and often the
source of some confusion. Consider, for example, the
following sequence of events:No one shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor to attacks upon his honor and reputation. Everyone has the right to the protection of the law against such interference or attacks.
http://www.w3c.org) has developed a
content labeling scheme known as the Platform for Internet
Content Selection. PICS is simply a standard way to label web
pages rather than rate them. In other words, PICS
specifies the structure of a label, not what to put
inside it. However, PICS is often associated with content
filtering, because that was one of the primary reasons for its
development. A PICS-aware web cache can filter out requests
based on one or more rating schemes.Copies are material objects…in which a work is fixed by any method now known or later developed, and from which the work can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device.
knowingly permits any telecommunications facility under [his] control to be used for any activity prohibited [above] with the intent that it be used for such activity…
No person shall be held [liable] solely for providing access or connection to or from a facility, system, or network not under that person's control, including transmission, downloading, intermediate storage, access software, or other related capabilities that are incidental to providing such access or connection that does not include the creation of the content of the communication.
Some HTTP/1.0 applications use heuristics to describe what is or is not a "cachable" response, but these rules are not standardized.
HTTP/1.0 200 OK Server: MasterBlaster/1.6.9 Date: Mon, 15 Jan 2001 23:01:43 GMT Content-Type: text/html
Last-modified date, so the cache has no
idea how old the resource is. Assuming the server's
clock is correct, we know how old the response is, but
not the resource. There is no Expires
header either, so perhaps the cache can apply local
heuristics. Should a cache be allowed to store this reply?
Can it return this as a cache hit? In the absence of rigid
standards, some applications might consider this cachable.