Changeset 769 for draft-ietf-httpbis/latest/p1-messaging.xml
- Timestamp:
- 04/03/10 14:34:38 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.xml
r767 r769 25 25 <!ENTITY entity-body "<xref target='Part3' x:rel='#entity.body' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 26 26 <!ENTITY entity-header-fields "<xref target='Part3' x:rel='#entity.header.fields' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 27 <!ENTITY entity-length "<xref target='Part3' x:rel='#entity.length' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 27 28 <!ENTITY header-cache-control "<xref target='Part6' x:rel='#header.cache-control' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 28 29 <!ENTITY header-expect "<xref target='Part2' x:rel='#header.expect' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 2257 2258 implemented by many HTTP/1.0 clients). 2258 2259 </t> 2260 2261 <section title="End-to-end and Hop-by-hop Headers" anchor="end-to-end.and.hop-by-hop.headers"> 2262 <t> 2263 <cref anchor="TODO-end-to-end" source="jre"> 2264 Restored from <eref target="http://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-05#section-7.1"/>. 2265 See also <eref target="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/60"/>. 2266 </cref> 2267 </t> 2268 <t> 2269 For the purpose of defining the behavior of caches and non-caching 2270 proxies, we divide HTTP headers into two categories: 2271 <list style="symbols"> 2272 <t>End-to-end headers, which are transmitted to the ultimate 2273 recipient of a request or response. End-to-end headers in 2274 responses MUST be stored as part of a cache entry and &MUST; be 2275 transmitted in any response formed from a cache entry.</t> 2276 2277 <t>Hop-by-hop headers, which are meaningful only for a single 2278 transport-level connection, and are not stored by caches or 2279 forwarded by proxies.</t> 2280 </list> 2281 </t> 2282 <t> 2283 The following HTTP/1.1 headers are hop-by-hop headers: 2284 <list style="symbols"> 2285 <t>Connection</t> 2286 <t>Keep-Alive</t> 2287 <t>Proxy-Authenticate</t> 2288 <t>Proxy-Authorization</t> 2289 <t>TE</t> 2290 <t>Trailer</t> 2291 <t>Transfer-Encoding</t> 2292 <t>Upgrade</t> 2293 </list> 2294 </t> 2295 <t> 2296 All other headers defined by HTTP/1.1 are end-to-end headers. 2297 </t> 2298 <t> 2299 Other hop-by-hop headers &MUST; be listed in a Connection header 2300 (<xref target="header.connection"/>). 2301 </t> 2302 </section> 2303 2304 <section title="Non-modifiable Headers" anchor="non-modifiable.headers"> 2305 <t> 2306 <cref anchor="TODO-non-mod-headers" source="jre"> 2307 Restored from <eref target="http://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-05#section-7.2"/>. 2308 See also <eref target="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/60"/>. 2309 </cref> 2310 </t> 2311 <t> 2312 Some features of HTTP/1.1, such as Digest Authentication, depend on the 2313 value of certain end-to-end headers. A transparent proxy &SHOULD-NOT; 2314 modify an end-to-end header unless the definition of that header requires 2315 or specifically allows that. 2316 </t> 2317 <t> 2318 A transparent proxy &MUST-NOT; modify any of the following fields in a 2319 request or response, and it &MUST-NOT; add any of these fields if not 2320 already present: 2321 <list style="symbols"> 2322 <t>Content-Location</t> 2323 <t>Content-MD5</t> 2324 <t>ETag</t> 2325 <t>Last-Modified</t> 2326 </list> 2327 </t> 2328 <t> 2329 A transparent proxy &MUST-NOT; modify any of the following fields in a 2330 response: 2331 <list style="symbols"> 2332 <t>Expires</t> 2333 </list> 2334 </t> 2335 <t> 2336 but it &MAY; add any of these fields if not already present. If an 2337 Expires header is added, it &MUST; be given a field-value identical to 2338 that of the Date header in that response. 2339 </t> 2340 <t> 2341 A proxy &MUST-NOT; modify or add any of the following fields in a 2342 message that contains the no-transform cache-control directive, or in 2343 any request: 2344 <list style="symbols"> 2345 <t>Content-Encoding</t> 2346 <t>Content-Range</t> 2347 <t>Content-Type</t> 2348 </list> 2349 </t> 2350 <t> 2351 A non-transparent proxy &MAY; modify or add these fields to a message 2352 that does not include no-transform, but if it does so, it &MUST; add a 2353 Warning 214 (Transformation applied) if one does not already appear 2354 in the message (see &header-warning;). 2355 </t> 2356 <x:note> 2357 <t> 2358 <x:h>Warning:</x:h> Unnecessary modification of end-to-end headers might 2359 cause authentication failures if stronger authentication 2360 mechanisms are introduced in later versions of HTTP. Such 2361 authentication mechanisms &MAY; rely on the values of header fields 2362 not listed here. 2363 </t> 2364 </x:note> 2365 <t> 2366 The Content-Length field of a request or response is added or deleted 2367 according to the rules in <xref target="message.length"/>. A transparent proxy &MUST; 2368 preserve the entity-length (&entity-length;) of the entity-body, 2369 although it &MAY; change the transfer-length (<xref target="message.length"/>). 2370 </t> 2371 </section> 2372 2259 2373 </section> 2260 2374 … … 4638 4752 interoperability problem that could have occurred due to interactions 4639 4753 between authentication trailers, chunked encoding and HTTP/1.0 4640 clients.(Section <xref target="transfer.codings" format="counter"/>, <xref target="chunked.encoding" format="counter"/>, 4754 clients.(Section 4755 <xref target="transfer.codings" format="counter"/>, 4756 <xref target="chunked.encoding" format="counter"/>, 4757 <xref target="non-modifiable.headers" format="counter"/>, 4641 4758 and <xref target="header.te" format="counter"/>) 4759 </t> 4760 <t> 4761 Proxies should be able to add Content-Length when appropriate. 4762 (<xref target="non-modifiable.headers"/>) 4642 4763 </t> 4643 4764 </section> … … 5362 5483 <list style="symbols"> 5363 5484 <t> 5485 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/60"/>: 5486 "Placement of 13.5.1 and 13.5.2" 5487 </t> 5488 <t> 5364 5489 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/200"/>: 5365 5490 "use of term "word" when talking about header structure"
Note: See TracChangeset
for help on using the changeset viewer.