SHOULD NOT add or change the Expires header or max-age Cache-control
directive.)
For example, if proxy A receives a GET request from proxy B for
URL X with "Connection: Meter", but proxy A's cached response for
URL does not include any Meter directives, then proxy A may ignore
the metering offer from proxy B.
However, if proxy A has previously told the origin server "Meter:
wont-limit" (implying will-report), and the cached response
contains "Meter: do-report", and proxy B's request includes
"Meter: wont-report", then proxy B's offer is inconsistent with
proxy A's duty to the origin server. Therefore, in this case
proxy A must add "Cache-control: s-maxage=0" when it returns the
cached response to proxy B, and must not include a Meter header in
this response.
If a server does not want to use the Meter mechanism, and will not
want to use it any time soon, it may send this directive:
wont-ask recommends that the proxy SHOULD NOT send any Meter
directives to this server.
RFC 2227 Hit-Metering and Usage-Limiting October 1997
The proxy SHOULD remember this fact for up to 24 hours. This avoids
virtually all unnecessary overheads for servers that do not wish to
use or support the Meter header. (This directive also implies
"dont-report".)
3.4 Transmission of usage reports
To transmit a usage report, a proxy sends the following Meter header
in a request on the appropriate resource:
Meter: count=NNN/MMM
The first integer indicates the count of uses of the cache entry
since the last report; the second integer indicates the count of
reuses of the entry (see section 5.3 for rules on counting uses and
reuses). The transmission of a "count" directive in a request with
no other Meter directive is also defined as an implicit transmission
of a "will-report-and-limit" directive, to optimize the common case.
(A proxy not willing to honor usage-limits would send "Meter:
count=NNN/MMM, wont-limit" for its reports.)
Note that when a proxy forwards a client's request and receives a
response, the response that the proxy sends immediately to the
requesting client is not counted as a "use". I.e., the reported
count is the number of times the cache entry was used, and not the
number of times that the response was used.
A proxy SHOULD NOT transmit "Meter: count=0/0", since this conveys no
useful information.
Usage reports MUST always be transmitted as part of a conditional
request (such as a GET or HEAD), since the information in the
conditional header (e.g., If-Modified-Since or If-None-Match) is
required for the origin server to know which instance of a resource
is being counted. Proxys forwarding usage reports up the metering
subtree MUST NOT change the contents of the conditional header, since
otherwise this would result in incorrect counting.
A usage report MUST NOT be transmitted as part of a forwarded request
that includes multiple entity tags in an If-None-Match or If-Match
header.
Note: a proxy that offers its willingness to do hit-metering
(report usage) must count both uses and reuses. It is not
possible to negotiate the reporting of one but not the other.
RFC 2227 Hit-Metering and Usage-Limiting October 1997
3.5 When to send usage reports
A proxy that has offered to send usage reports to its parent in the
metering subtree MUST send a usage report in each of these
situations:
1. When it forwards a conditional GET on the resource
instance on behalf of one of its clients (if the GET is
conditional on at most one entity-tag).
=8= |