- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Thu, 09 Apr 98 13:34:46 MDT
- To: hardie@nic.nasa.gov
- Cc: ietf-http-ext@w3.org
(Henrik) I have two points here: First, I disagree that HTTP defines end-to-end to mean from the user agent to the origin server. For example, the text in 13.5.1 says * End-to-end headers, which must be transmitted to the ultimate recipient of a request or response. End-to-end headers in responses must be stored as part of a cache entry and transmitted in any response formed from a cache entry. Think of caching, for example. The client sends a set of header fields in the request that it considers to be end-to-end, however, they may never reach the origin server because a cache happens to be the "ultimate recipient". (Ted, again) I still believe there is a different behavior being defined in Mandatory than the caching example provides. The proxy cache behavior is defined by the proxy's need to act for the end host; in the presence of an end to end header in a request for which it has a valid entry, the proxy can still reply, on behalf of the ultimate recipient. It can't itself be the recipient of an end-to-end header (as an example, on a request for a resource which it has never before seen, the proxy *must* transmit all end to end headers to the ultimate recipient). Ted is right. I wrote the paragraph that Henrik cited, and Henrik's interpretation is exactly opposite to actual meaning. If there is any confusion, try reading that paragraph in its complete context: For the purpose of defining the behavior of caches and non-caching proxies, we divide HTTP headers into two categories: o End-to-end headers, which must be transmitted to the ultimate recipient of a request or response. End-to-end headers in responses must be stored as part of a cache entry and transmitted in any response formed from a cache entry. o Hop-by-hop headers, which are meaningful only for a single transport-level connection, and are not stored by caches or forwarded by proxies. In context, it should be clear that an "end-to-end" header is one that MUST be delivered to the server that is the target of a request (unless the request isn't forwarded to that server at all). You cannot separate an end-to-end header from the request of the request (or response). -Jeff
Received on Thursday, 9 April 1998 16:34:50 UTC