📄 draft-vixie-icp-htcp-01.txt
字号:
| SPECIFIER | +---------------------+ | DETAIL | +---------------------+ 4 - Cache Headers HTCP/0.0 CACHE-HDRS are as follows: Cache-Vary: <header-name> ... The sender of this header has learned that content varies on a set of headers different from the set given in the object's Vary: header. If Cache-Vary: specifies the null set, then the origin server has been found to issue identical results no matter what request headers are given to it. Expires August 1998 [Page 8] INTERNET-DRAFT HTCP February 1998 Cache-Location: <cache-hostname>:<port> ... The sender of this header has learned of one or more proxy caches who are holding a copy of this object. Probing these caches with HTCP may result in discovery of new, close-by (preferrable to current) HTCP neighbors. Cache-Policy: [no-cache] [no-share] [cookie-ok] The sender of this header has learned that the object's policy has more detail than is given in its response headers. ``no-cache'' means that it is uncacheable (no reason given), but may be shareable between simultaneous requestors. ``no-share'' means that it is unshareable (no reason given), and per-requestor tunnelling is always required). ``cookie-ok'' means that the content is not going to change as a result of different, missing, or even random cookies being included in the request headers, and that caching may be possible. Cache-Expiry: <date> The sender of this header has learned that this object should be considered to have expired at a time different than that indicate by its response headers. The format is the same as HTTP/1.1 Expires:. Cache-MD5: <discovered content MD5> The sender of this header has computed an MD5 checksum for this object which is either different from that given in the object's Content-MD5: header, or is being supplied since the object has no Content-MD5 header. The format is the same as HTTP/1.1 Content-MD5:. Cache-to-Origin: <origin>[,<origin>...] <rtt> <samples> <hops> The sender of this header has measured the round trip time to a set of origin servers (given as a comma separated list of <origin> hostnames). The <rtt> is the average number of seconds, expressed as decimal ASCII with arbitrary precision and no exponent. <Samples> is the number of RTT samples which have had input to this average. <Hops> is the number of routers between the cache and the origin, or 0 if the cache doesn't know. Expires August 1998 [Page 9] INTERNET-DRAFT HTCP February 1998 6 - Transport Policy Controls A set of configuration variables concerning transport characteristics should be maintained for each agent which is capable of initiating HTCP transactions, perhaps with a set of per-agent global defaults. These variables are: Maximum number of unacknowledged transactions before a ``failure'' is imputed. Maximum interval without a response to some transaction before a ``failure'' is imputed. Should ICMP-Portunreach be treated as a failure? Should RESPONSE=5 && MO=1 be treated as a failure? Minimum interval before trying a new transaction after a failure Expires August 1998 [Page 10] INTERNET-DRAFT HTCP February 1998 7 - Operations and their Opcodes HTCP/0.* opcodes and their respective OP-DATA are defined below: 7.1. NOP (OPCODE 0): This is an HTCP-level ``ping.'' Responders are encouraged to process NOP's with minimum delay since the requestor may be using the NOP RTT (round trip time) for configuration or mapping purposes. The RESPONSE code for a NOP is always zero (0). There is no OP-DATA for a NOP. NOP requests with RD=0 cause no processing to occur at all. 7.2. TST (OPCODE 1): Test for the presence of a specified content entity in a proxy cache. TST requests with RD=0 cause no processing to occur at all. TST requests have the following OP-DATA: +0 (MSB) +1 (LSB) +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0: | | / SPECIFIER / / / +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ RESPONSE codes for TST are as follows: 0 entity is present in responder's cache (OP-DATA valid) 1 entity is not present in responder's cache TST responses have the following OP-DATA, if RESPONSE is zero (0): +0 (MSB) +1 (LSB) +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0: | | / DETAIL / / / +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ DETAIL is a set of cache, entity, and response headers. The cache headers are described above. Entity and response headers are defined by HTTP. Expires August 1998 [Page 11] INTERNET-DRAFT HTCP February 1998 7.3. MON (OPCODE 2): Monitor activity in a proxy cache (adds, deletes, replacements, etc). Since interleaving of HTCP transaction over a single pair of UDP endpoints is not supported, it is recommended that a unique UDP endpoint be allocated by the requestor for each concurrent MON request. MON requests with RD=0 are equivilent to those with RD=1 and TIME=0; that is, they will cancel any outstanding MON transaction. MON requests have the following OP-DATA structure: +0 (MSB) +---+---+---+---+---+---+---+---+ 0: | TIME | +---+---+---+---+---+---+---+---+ TIME is the number of seconds of monitoring output desired by the initiator. Subsequent MON requests from the same initiator with the same MSG-ID should update the time on a ongoing MON transaction. This is called ``overlapping renew.'' RESPONSE codes for MON are as follows: 0 accepted, OP-DATA is present and valid 1 refused (quota error -- too many MON's are active) MON responses have the following OP-DATA structure, if RESPONSE is zero (0): +0 (MSB) +1 (LSB) +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0: | TIME | ACTION | REASON | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2: | | / IDENTITY / / / +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ TIME is the number of seconds remaining for this MON transaction. ACTION is a numeric code indicating a cache population action. Codes are: Expires August 1998 [Page 12] INTERNET-DRAFT HTCP February 1998 0 an entity has been added to the cache 1 an entity in the cache has been refreshed 2 an entity in the cache has been replaced 3 an entity in the cache has been deleted REASON is a numeric code indicating the reason for an ACTION. Codes are: 0 some reason not covered by the other REASON codes 1 a proxy client fetched this entity 2 a proxy client fetched with caching disallowed 3 the proxy server prefetched this entity 4 the entity expired, per its headers 5 the entity was purged due to caching storage limits 7.4. SET (OPCODE 3): Inform a cache of the identity of an object. This is a ``push'' transaction, whereby cooperating caches can share information such as updated Age/Date/Expires headers (which might result from an origin ``304 Not modified'' response) or updated cache headers (which might result from the discovery of non-authoritative ``vary'' conditions or from learning of second or third party cache locations for this entity. RD is honoured. SET requests have the following OP-DATA structure: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0: | | / IDENTITY / / / +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ RESPONSE codes are as follows: 0 identity accepted, thank you 1 identity ignored, no reason given, thank you SET responses have no OP-DATA. Expires August 1998 [Page 13] INTERNET-DRAFT HTCP February 1998 7.5. CLR (OPCODE 4): Tell a cache to completely forget about an entity. RD is honoured. CLR requests have the following OP-DATA structure: +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0: | RESERVED | REASON | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2: | | / SPECIFIER / / / +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ REASON is a numeric code indicating the reason why the requestor is asking that this entity be removed. The codes are as follows: 0 some reason not better specified by another code 1 the origin server told me that this entity does not exist RESPONSE codes are as follows: 0 i had it, it's gone now 1 i had it, i'm keeping it, no reason given. 2 i didn't have it CLR responses have no OP-DATA. Clearing a URL without specifying response, entity, or cache headers means to clear all entities using that URL. 5 - Security Considerations Expires August 1998 [Page 14] INTERNET-DRAFT HTCP February 1998 6 - References [RFC2068] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee, ``Hypertext Transfer Protocol -- HTTP/1.1,'' RFC 2068, UC Irvine, DEC, MIT/LCS, January 1997 [RFC2186] D. Wessels, K. Claffy, ``Internet Cache Protocol (ICP), version 2,'' RFC 2186, National Laboratory for Applied Network Research/UCSD, September 1997 7 - Author's Address Paul Vixie Vixie Enterprises 950 Charter Street Redwood City, CA 94063 +1 650 779 7001 <paul@vix.com> Expires August 1998 [Page 15]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -