The Meter general-header field is used to:
- Negotiate the use of hit-metering and usage-limiting among
origin servers and proxy caches.
- Report use counts and reuse counts.
Implementation of the Meter header is optional for both proxies and
origin servers. However, any proxy that transmits the Meter header
in a request MUST implement every requirement of this specification,
without exception or amendment.
The Meter header MUST always be protected by a Connection header. A
proxy that does not implement the Meter header MUST NOT pass it
through to another system (see section 5.5 for how a non-caching
proxy may comply with this specification). If a Meter header is
RFC 2227 Hit-Metering and Usage-Limiting October 1997
received in a message whose version is less than HTTP/1.1, it MUST be
ignored (because it has clearly flowed through a proxy that does not
implement Meter).
A proxy that has received a response with a version less than
HTTP/1.1, and therefore from a server (or another proxy) that does
not implement the Meter header, SHOULD NOT send Meter request
directives to that server, because these would simply waste
bandwidth. This recommendation does not apply if the proxy is
currently hit-metering or usage-limiting any responses from that
server. If the proxy receives a HTTP/1.1 or higher response from
such a server, it should cease its suppression of the Meter
directives.
All proxies sending the Meter header MUST adhere to the "metering
subtree" design described in section 3.
Meter = "Meter" ":" 0#meter-directive
meter-directive = meter-request-directive
| meter-response-directive
| meter-report-directive
meter-request-directive =
"will-report-and-limit"
| "wont-report"
| "wont-limit"
meter-report-directive =
| "count" "=" 1*DIGIT "/" 1*DIGIT
meter-response-directive =
"max-uses" "=" 1*DIGIT
| "max-reuses" "=" 1*DIGIT
| "do-report"
| "dont-report"
| "timeout" "=" 1*DIGIT
| "wont-ask"
A meter-request-directive or meter-report-directive may only appear
in an HTTP request message. A meter-response-directive may only
appear in an HTTP response directive.
An empty Meter header in a request means "Meter: will-report-and-
limit". An empty Meter header in a response, or any other response
including one or more Meter headers without the "dont-report" or
"wont-ask" directive, implies "Meter: do-report".
RFC 2227 Hit-Metering and Usage-Limiting October 1997
The meaning of the meter-request-directives are as follows:
will-report-and-limit
indicates that the proxy is willing and able to
return usage reports and will obey any usage-limits.
wont-report indicates that the proxy will obey usage-limits but
will not send usage reports.
wont-limit indicates that the proxy will not obey usage-limits
but will send usage reports.
A proxy willing neither to obey usage-limits nor to send usage
reports MUST NOT transmit a Meter header in the request.
The meaning of the meter-report-directives are as follows:
count "=" 1*DIGIT "/" 1*DIGIT
=12= |