Changeset 608 for draft-ietf-httpbis/diffs
- Timestamp:
- 13/07/09 06:58:01 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/diffs/draft-ietf-httpbis-p6-cache-07-from-6.diff.html
r605 r608 169 169 <tr><td class="lineno" valign="top"></td><td class="left"> C.7. Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . 35</td><td> </td><td class="right"> C.7. Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr> 170 170 <tr><td><a name="diff0009" /></td></tr> 171 <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"><span class="insert">C.8. Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . 35</span></td><td class="lineno" valign="top"></td></tr>172 <tr><td class="lineno" valign="top"></td><td class="l eft"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35</td><td> </td><td class="right"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>171 <tr><td class="lineno" valign="top"></td><td class="lblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock"> <span class="insert">C.8. Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . 35</span></td><td class="lineno" valign="top"></td></tr> 172 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr> 173 173 <tr><td class="lineno" valign="top"></td><td class="left"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38</td><td> </td><td class="right"> Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr> 174 174 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 180 180 <tr><td class="lineno" valign="top"></td><td class="left"> response messages.</td><td> </td><td class="right"> response messages.</td><td class="lineno" valign="top"></td></tr> 181 181 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 182 <tr><td class="lineno" valign="top"></td><td class="left">1.1. Purpose</td><td> </td><td class="right">1.1. Purpose</td><td class="lineno" valign="top"></td></tr> 182 183 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 183 184 <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 7, line 39</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 7, line 39</em></th><td></td></tr> … … 357 358 <tr><td class="lineno" valign="top"></td><td class="left"> each of the caches along the path from the origin server, plus the</td><td> </td><td class="right"> each of the caches along the path from the origin server, plus the</td><td class="lineno" valign="top"></td></tr> 358 359 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 359 <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 13, line 52</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 14, line 17</em></th><td></td></tr> 360 <tr><td class="lineno" valign="top"></td><td class="left"> purpose. When a stored response includes one or more validators,</td><td> </td><td class="right"> purpose. When a stored response includes one or more validators,</td><td class="lineno" valign="top"></td></tr> 361 <tr><td class="lineno" valign="top"></td><td class="left"> such as the field values of an ETag or Last-Modified header field,</td><td> </td><td class="right"> such as the field values of an ETag or Last-Modified header field,</td><td class="lineno" valign="top"></td></tr> 362 <tr><td class="lineno" valign="top"></td><td class="left"> then a validating request SHOULD be made conditional to those field</td><td> </td><td class="right"> then a validating request SHOULD be made conditional to those field</td><td class="lineno" valign="top"></td></tr> 363 <tr><td class="lineno" valign="top"></td><td class="left"> values.</td><td> </td><td class="right"> values.</td><td class="lineno" valign="top"></td></tr> 360 <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 13, line 36</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 13, line 50</em></th><td></td></tr> 361 <tr><td class="lineno" valign="top"></td><td class="left"> If a cache receives a first-hand response (either an entire response,</td><td> </td><td class="right"> If a cache receives a first-hand response (either an entire response,</td><td class="lineno" valign="top"></td></tr> 362 <tr><td class="lineno" valign="top"></td><td class="left"> or a 304 (Not Modified) response) that it would normally forward to</td><td> </td><td class="right"> or a 304 (Not Modified) response) that it would normally forward to</td><td class="lineno" valign="top"></td></tr> 363 <tr><td class="lineno" valign="top"></td><td class="left"> the requesting client, and the received response is no longer fresh,</td><td> </td><td class="right"> the requesting client, and the received response is no longer fresh,</td><td class="lineno" valign="top"></td></tr> 364 <tr><td class="lineno" valign="top"></td><td class="left"> the cache SHOULD forward it to the requesting client without adding a</td><td> </td><td class="right"> the cache SHOULD forward it to the requesting client without adding a</td><td class="lineno" valign="top"></td></tr> 365 <tr><td class="lineno" valign="top"></td><td class="left"> new Warning (but without removing any existing Warning headers). A</td><td> </td><td class="right"> new Warning (but without removing any existing Warning headers). A</td><td class="lineno" valign="top"></td></tr> 366 <tr><td class="lineno" valign="top"></td><td class="left"> cache SHOULD NOT attempt to validate a response simply because that</td><td> </td><td class="right"> cache SHOULD NOT attempt to validate a response simply because that</td><td class="lineno" valign="top"></td></tr> 367 <tr><td class="lineno" valign="top"></td><td class="left"> response became stale in transit.</td><td> </td><td class="right"> response became stale in transit.</td><td class="lineno" valign="top"></td></tr> 368 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 369 <tr><td class="lineno" valign="top"></td><td class="left">2.4. Validation Model</td><td> </td><td class="right">2.4. Validation Model</td><td class="lineno" valign="top"></td></tr> 370 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 371 <tr><td><a name="diff0020" /></td></tr> 372 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">Checking with</span> the origin server to <span class="delete">see if</span> a <span class="delete">stale or otherwise</span></td><td> </td><td class="rblock"> <span class="insert">When a cache has one or more stored responses for a requested URI,</span></td><td class="lineno" valign="top"></td></tr> 373 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> unusable cached</span> response <span class="delete">can</span> be <span class="delete">reused</span> is <span class="delete">called</span> "validating" or</td><td> </td><td class="rblock"><span class="insert"> but cannot serve any of them (e.g., because they are not fresh, or</span></td><td class="lineno" valign="top"></td></tr> 374 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">"revalidating." Doing so potentially avoids the overhead of</span></td><td> </td><td class="rblock"><span class="insert"> one cannot be selected; see Section 2.6), it can use the conditional</span></td><td class="lineno" valign="top"></td></tr> 375 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> retransmitting the response body when</span> the stored <span class="delete">response is valid.</span></td><td> </td><td class="rblock"><span class="insert"> request mechanism [Part4] in the forwarded request to give</span> the origin</td><td class="lineno" valign="top"></td></tr> 376 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> server <span class="insert">an opportunity</span> to <span class="insert">both select</span> a <span class="insert">valid stored</span> response <span class="insert">to</span> be</td><td class="lineno" valign="top"></td></tr> 377 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">used, and to update it. This process</span> is <span class="insert">known as</span> "validating" or</td><td class="lineno" valign="top"></td></tr> 378 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">"revalidating"</span> the stored <span class="insert">response.</span></td><td class="lineno" valign="top"></td></tr> 379 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 380 <tr><td><a name="diff0021" /></td></tr> 381 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">HTTP's conditional request mechanism [Part4] is used for this</span></td><td> </td><td class="rblock"> When <span class="insert">sending</span> such <span class="insert">a conditional request,</span> the <span class="insert">cache SHOULD add</span> an <span class="insert">If-</span></td><td class="lineno" valign="top"></td></tr> 382 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> purpose.</span> When <span class="delete">a stored response includes one or more validators,</span></td><td> </td><td class="rblock"><span class="insert"> Modified-Since header whose value is that of the</span> Last-Modified header</td><td class="lineno" valign="top"></td></tr> 383 <tr><td class="lineno" valign="top"></td><td class="lblock"> such <span class="delete">as</span> the <span class="delete">field values of</span> an <span class="delete">ETag or</span> Last-Modified header <span class="delete">field,</span></td><td> </td><td class="rblock"> <span class="insert">from the selected (see Section 2.6) stored response, if available.</span></td><td class="lineno" valign="top"></td></tr> 384 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> then a validating request</span> SHOULD be <span class="delete">made conditional to those</span> field</td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr> 385 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">values.</span></td><td> </td><td class="rblock"><span class="insert"> Additionally, the cache SHOULD add an If-None-Match header whose</span></td><td class="lineno" valign="top"></td></tr> 386 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> value is that of the ETag header(s) from all responses stored for the</span></td><td class="lineno" valign="top"></td></tr> 387 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> requested URI, if present. However, if any of the stored responses</span></td><td class="lineno" valign="top"></td></tr> 388 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> contains only partial content, its entity-tag</span> SHOULD <span class="insert">NOT</span> be <span class="insert">included</span></td><td class="lineno" valign="top"></td></tr> 389 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> in the If-None-Match header</span> field <span class="insert">unless the request is for a range</span></td><td class="lineno" valign="top"></td></tr> 390 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> that would be fully satisfied by that stored response.</span></td><td class="lineno" valign="top"></td></tr> 364 391 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 365 392 <tr><td class="lineno" valign="top"></td><td class="left"> A 304 (Not Modified) response status code indicates that the stored</td><td> </td><td class="right"> A 304 (Not Modified) response status code indicates that the stored</td><td class="lineno" valign="top"></td></tr> 366 393 <tr><td class="lineno" valign="top"></td><td class="left"> response can be updated and reused; see Section 2.7.</td><td> </td><td class="right"> response can be updated and reused; see Section 2.7.</td><td class="lineno" valign="top"></td></tr> 367 394 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 368 <tr><td class="lineno" valign="top"></td><td class="left"> If instead the cache receives a full response (i.e., one with a</td><td> </td><td class="right"> If instead the cache receives a full response (i.e., one with a</td><td class="lineno" valign="top"></td></tr> 369 <tr><td class="lineno" valign="top"></td><td class="left"> response body), it is used to satisfy the request and replace the</td><td> </td><td class="right"> response body), it is used to satisfy the request and replace the</td><td class="lineno" valign="top"></td></tr> 370 <tr><td><a name="diff0020" /></td></tr> 371 <tr><td class="lineno" valign="top"></td><td class="lblock"> stored response. <span class="delete">[[anchor8:</span> Should there be a requirement here?]]</td><td> </td><td class="rblock"> stored response. <span class="insert">[[anchor5:</span> Should there be a requirement here?]]</td><td class="lineno" valign="top"></td></tr> 395 <tr><td><a name="diff0022" /></td></tr> 396 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">If instead the cache receives a</span> full response (i.e., one with a</td><td> </td><td class="rblock"> <span class="insert">A</span> full response (i.e., one with a response <span class="insert">body) indicates that none</span></td><td class="lineno" valign="top"></td></tr> 397 <tr><td class="lineno" valign="top"></td><td class="lblock"> response <span class="delete">body), it</span> is used to satisfy the request and replace the</td><td> </td><td class="rblock"><span class="insert"> of the stored responses nominated in the conditional request is</span></td><td class="lineno" valign="top"></td></tr> 398 <tr><td class="lineno" valign="top"></td><td class="lblock"> stored response. <span class="delete">[[anchor8:</span> Should there be a requirement here?]]</td><td> </td><td class="rblock"><span class="insert"> suitable. Instead, the full response</span> is used <span class="insert">both</span> to satisfy the</td><td class="lineno" valign="top"></td></tr> 399 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> request and replace the stored response. <span class="insert">[[anchor5:</span> Should there be a</td><td class="lineno" valign="top"></td></tr> 400 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> requirement here?]]</td><td class="lineno" valign="top"></td></tr> 372 401 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> 373 402 <tr><td class="lineno" valign="top"></td><td class="left"> If a cache receives a 5xx response while attempting to validate a</td><td> </td><td class="right"> If a cache receives a 5xx response while attempting to validate a</td><td class="lineno" valign="top"></td></tr> 374 403 <tr><td class="lineno" valign="top"></td><td class="left"> response, it MAY either forward this response to the requesting</td><td> </td><td class="right"> response, it MAY either forward this response to the requesting</td><td class="lineno" valign="top"></td></tr> 375 404 <tr><td class="lineno" valign="top"></td><td class="left"> client, or act as if the server failed to respond. In the latter</td><td> </td><td class="right"> client, or act as if the server failed to respond. In the latter</td><td class="lineno" valign="top"></td></tr> 376 <tr><td class="lineno" valign="top"></td><td class="left"> case, it MAY return a previously stored response (which SHOULD</td><td> </td><td class="right"> case, it MAY return a previously stored response (which SHOULD</td><td class="lineno" valign="top"></td></tr> 377 <tr><td class="lineno" valign="top"></td><td class="left"> include the 111 warn-code; see Section 3.6) unless the stored</td><td> </td><td class="right"> include the 111 warn-code; see Section 3.6) unless the stored</td><td class="lineno" valign="top"></td></tr> 378 <tr><td class="lineno" valign="top"></td><td class="left"> response includes the "must-revalidate" cache directive (see</td><td> </td><td class="right"> response includes the "must-revalidate" cache directive (see</td><td class="lineno" valign="top"></td></tr> 379 <tr><td class="lineno" valign="top"></td><td class="left"> Section 2.3.3).</td><td> </td><td class="right"> Section 2.3.3).</td><td class="lineno" valign="top"></td></tr> 405 <tr><td><a name="diff0023" /></td></tr> 406 <tr><td class="lineno" valign="top"></td><td class="lblock"> case, it MAY return a previously stored response <span class="delete">(which SHOULD</span></td><td> </td><td class="rblock"> case, it MAY return a previously stored response <span class="insert">(see</span> Section <span class="insert">2.3.3).</span></td><td class="lineno" valign="top"></td></tr> 407 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> include the 111 warn-code; see</span> Section <span class="delete">3.6) unless</span> the stored</td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr> 408 <tr><td class="lineno" valign="top"></td><td class="lblock"> response <span class="delete">includes</span> the <span class="delete">"must-revalidate" cache directive (see</span></td><td> </td><td class="rblock"><span class="insert"> If a cache receives a successful response whose Content-Location</span></td><td class="lineno" valign="top"></td></tr> 409 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Section 2.3.3).</span></td><td> </td><td class="rblock"><span class="insert"> field matches that of an existing stored response for the same</span></td><td class="lineno" valign="top"></td></tr> 410 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Request-URI, whose entity-tag differs from that of</span> the <span class="insert">existing</span></td><td class="lineno" valign="top"></td></tr> 411 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> stored <span class="insert">response, and whose Date is more recent than that of the</span></td><td class="lineno" valign="top"></td></tr> 412 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> existing response, the existing</span> response <span class="insert">SHOULD NOT be returned in</span></td><td class="lineno" valign="top"></td></tr> 413 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> response to future requests and SHOULD be deleted from</span> the <span class="insert">cache.</span></td><td class="lineno" valign="top"></td></tr> 414 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> [[anchor6: DISCUSS: Not sure if this is necessary.]]</span></td><td class="lineno" valign="top"></td></tr> 380 415 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 381 416 <tr><td class="lineno" valign="top"></td><td class="left">2.5. Request Methods that Invalidate</td><td> </td><td class="right">2.5. Request Methods that Invalidate</td><td class="lineno" valign="top"></td></tr> … … 386 421 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 387 422 <tr><td class="lineno" valign="top"></td><td class="left"> The following HTTP methods MUST cause a cache to invalidate the</td><td> </td><td class="right"> The following HTTP methods MUST cause a cache to invalidate the</td><td class="lineno" valign="top"></td></tr> 388 <tr><td><a name="diff002 1" /></td></tr>423 <tr><td><a name="diff0024" /></td></tr> 389 424 <tr><td class="lineno" valign="top"></td><td class="lblock"> Request-URI as well as the Location and <span class="delete">Content-Location</span> headers (if</td><td> </td><td class="rblock"> Request-URI as well as the <span class="insert">URI(s) in the</span> Location and <span class="insert">Content-</span></td><td class="lineno" valign="top"></td></tr> 390 425 <tr><td class="lineno" valign="top"></td><td class="lblock"> present):</td><td> </td><td class="rblock"><span class="insert"> Location</span> headers (if present):</td><td class="lineno" valign="top"></td></tr> … … 396 431 <tr><td class="lineno" valign="top"></td><td class="left"> o POST</td><td> </td><td class="right"> o POST</td><td class="lineno" valign="top"></td></tr> 397 432 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 398 <tr><td><a name="diff002 2" /></td></tr>433 <tr><td><a name="diff0025" /></td></tr> 399 434 <tr><td class="lineno" valign="top"></td><td class="lblock"> An invalidation based on <span class="delete">the URI in</span> a Location or Content-Location</td><td> </td><td class="rblock"> An invalidation based on <span class="insert">a URI from</span> a Location or Content-Location</td><td class="lineno" valign="top"></td></tr> 400 435 <tr><td class="lineno" valign="top"></td><td class="left"> header MUST NOT be performed if the host part of that URI differs</td><td> </td><td class="right"> header MUST NOT be performed if the host part of that URI differs</td><td class="lineno" valign="top"></td></tr> … … 402 437 <tr><td class="lineno" valign="top"></td><td class="left"> service attacks.</td><td> </td><td class="right"> service attacks.</td><td class="lineno" valign="top"></td></tr> 403 438 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 404 <tr><td><a name="diff002 3" /></td></tr>405 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor<span class="delete">9</span>: TODO: "host part" needs to be specified better.]]</td><td> </td><td class="rblock"> [[anchor<span class="insert"> 6</span>: TODO: "host part" needs to be specified better.]]</td><td class="lineno" valign="top"></td></tr>439 <tr><td><a name="diff0026" /></td></tr> 440 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor<span class="delete">9</span>: TODO: "host part" needs to be specified better.]]</td><td> </td><td class="rblock"> [[anchor<span class="insert">7</span>: TODO: "host part" needs to be specified better.]]</td><td class="lineno" valign="top"></td></tr> 406 441 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 407 442 <tr><td class="lineno" valign="top"></td><td class="left"> A cache that passes through requests for methods it does not</td><td> </td><td class="right"> A cache that passes through requests for methods it does not</td><td class="lineno" valign="top"></td></tr> … … 418 453 <tr><td class="lineno" valign="top"></td><td class="left"> is stored.</td><td> </td><td class="right"> is stored.</td><td class="lineno" valign="top"></td></tr> 419 454 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 420 <tr><td><a name="diff002 4" /></td></tr>421 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor<span class="delete">10</span>: TODO: specify that only successful (2xx, 3xx?) responses</td><td> </td><td class="rblock"> [[anchor<span class="insert"> 7</span>: TODO: specify that only successful (2xx, 3xx?) responses</td><td class="lineno" valign="top"></td></tr>455 <tr><td><a name="diff0027" /></td></tr> 456 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor<span class="delete">10</span>: TODO: specify that only successful (2xx, 3xx?) responses</td><td> </td><td class="rblock"> [[anchor<span class="insert">8</span>: TODO: specify that only successful (2xx, 3xx?) responses</td><td class="lineno" valign="top"></td></tr> 422 457 <tr><td class="lineno" valign="top"></td><td class="left"> invalidate.]]</td><td> </td><td class="right"> invalidate.]]</td><td class="lineno" valign="top"></td></tr> 423 458 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 424 459 <tr><td class="lineno" valign="top"></td><td class="left">2.6. Caching Negotiated Responses</td><td> </td><td class="right">2.6. Caching Negotiated Responses</td><td class="lineno" valign="top"></td></tr> 425 460 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 426 <tr><td class="lineno" valign="top"></td><td class="left"> Use of server-driven content negotiation (Section 4.1 of [Part3])</td><td> </td><td class="right"> Use of server-driven content negotiation (Section 4.1 of [Part3])</td><td class="lineno" valign="top"></td></tr> 427 <tr><td class="lineno" valign="top"></td><td class="left"> alters the conditions under which a cache can use the response for</td><td> </td><td class="right"> alters the conditions under which a cache can use the response for</td><td class="lineno" valign="top"></td></tr> 428 <tr><td class="lineno" valign="top"></td><td class="left"> subsequent requests.</td><td> </td><td class="right"> subsequent requests.</td><td class="lineno" valign="top"></td></tr> 429 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 461 <tr><td><a name="diff0028" /></td></tr> 462 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">Use of server-driven content negotiation (Section 4.1 of [Part3])</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 463 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> alters the conditions under which a cache can use the response for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 464 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> subsequent requests.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 465 <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 430 466 <tr><td class="lineno" valign="top"></td><td class="left"> When a cache receives a request that can be satisfied by a stored</td><td> </td><td class="right"> When a cache receives a request that can be satisfied by a stored</td><td class="lineno" valign="top"></td></tr> 431 <tr><td class="lineno" valign="top"></td><td class="left"> response that includes a Vary header field (Section 3.5), it MUST NOT</td><td> </td><td class="right"> response that includes a Vary header field (Section 3.5), it MUST NOT</td><td class="lineno" valign="top"></td></tr> 432 <tr><td class="lineno" valign="top"></td><td class="left"> use that response unless all of the selecting request-headers in the</td><td> </td><td class="right"> use that response unless all of the selecting request-headers in the</td><td class="lineno" valign="top"></td></tr> 433 <tr><td class="lineno" valign="top"></td><td class="left"> presented request match the corresponding stored request-headers from</td><td> </td><td class="right"> presented request match the corresponding stored request-headers from</td><td class="lineno" valign="top"></td></tr> 434 <tr><td class="lineno" valign="top"></td><td class="left"> the original request.</td><td> </td><td class="right"> the original request.</td><td class="lineno" valign="top"></td></tr> 467 <tr><td><a name="diff0029" /></td></tr> 468 <tr><td class="lineno" valign="top"></td><td class="lblock"> response that <span class="delete">includes</span> a Vary header field (Section 3.5), it MUST NOT</td><td> </td><td class="rblock"> response that <span class="insert">has</span> a Vary header field (Section 3.5), it MUST NOT use</td><td class="lineno" valign="top"></td></tr> 469 <tr><td class="lineno" valign="top"></td><td class="lblock"> use that response unless all of the selecting request-headers in the</td><td> </td><td class="rblock"> that response unless all of the selecting request-headers <span class="insert">nominated</span></td><td class="lineno" valign="top"></td></tr> 470 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">presented</span> request <span class="delete">match</span> the <span class="delete">corresponding</span> stored <span class="delete">request-headers from</span></td><td> </td><td class="rblock"><span class="insert"> by the Vary header match</span> in <span class="insert">both</span> the <span class="insert">original</span> request <span class="insert">(i.e., that</span></td><td class="lineno" valign="top"></td></tr> 471 <tr><td class="lineno" valign="top"></td><td class="lblock"> the <span class="delete">original</span> request.</td><td> </td><td class="rblock"><span class="insert"> associated with</span> the stored <span class="insert">response), and</span> the <span class="insert">presented</span> request.</td><td class="lineno" valign="top"></td></tr> 435 472 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 436 473 <tr><td class="lineno" valign="top"></td><td class="left"> The selecting request-headers from two requests are defined to match</td><td> </td><td class="right"> The selecting request-headers from two requests are defined to match</td><td class="lineno" valign="top"></td></tr> 437 474 <tr><td class="lineno" valign="top"></td><td class="left"> if and only if the selecting request-headers in the first request can</td><td> </td><td class="right"> if and only if the selecting request-headers in the first request can</td><td class="lineno" valign="top"></td></tr> 438 475 <tr><td class="lineno" valign="top"></td><td class="left"> be transformed to the selecting request-headers in the second request</td><td> </td><td class="right"> be transformed to the selecting request-headers in the second request</td><td class="lineno" valign="top"></td></tr> 439 <tr><td><a name="diff00 25" /></td></tr>440 <tr><td class="lineno" valign="top"></td><td class="lblock"> by adding or removing linear white space <span class="delete">[[anchor11:</span> [ref]]] at</td><td> </td><td class="rblock"> by adding or removing linear white space <span class="insert">[[anchor 8:</span> [ref]]] at places</td><td class="lineno" valign="top"></td></tr>476 <tr><td><a name="diff0030" /></td></tr> 477 <tr><td class="lineno" valign="top"></td><td class="lblock"> by adding or removing linear white space <span class="delete">[[anchor11:</span> [ref]]] at</td><td> </td><td class="rblock"> by adding or removing linear white space <span class="insert">[[anchor9:</span> [ref]]] at places</td><td class="lineno" valign="top"></td></tr> 441 478 <tr><td class="lineno" valign="top"></td><td class="lblock"> places where this is allowed by the corresponding ABNF, and/or</td><td> </td><td class="rblock"> where this is allowed by the corresponding ABNF, and/or combining</td><td class="lineno" valign="top"></td></tr> 442 479 <tr><td class="lineno" valign="top"></td><td class="lblock"> combining multiple message-header fields with the same field name</td><td> </td><td class="rblock"> multiple message-header fields with the same field name following the</td><td class="lineno" valign="top"></td></tr> 443 <tr><td class="lineno" valign="top"></td><td class="lblock"> following the rules about message headers in Section 4.2 of [Part1].</td><td> </td><td class="rblock"> rules about message headers in Section 4.2 of [Part1]. <span class="insert">[[DISCUSS-</span></td><td class="lineno" valign="top"></td></tr> 444 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[anchor12: DISCUSS:</span> header-specific <span class="delete">canonicalisation]]</span></td><td> </td><td class="rblock"><span class="insert"> header-specific-canonicalization: Should the matching requirement be</span></td><td class="lineno" valign="top"></td></tr> 445 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> relaxed so that it would be ok to use a cached response if the</span></td><td class="lineno" valign="top"></td></tr> 446 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> selecting request headers match after</span> header-specific</td><td class="lineno" valign="top"></td></tr> 447 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">canonicalization? (see</span></td><td class="lineno" valign="top"></td></tr> 448 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/147>)]]</span></td><td class="lineno" valign="top"></td></tr> 480 <tr><td class="lineno" valign="top"></td><td class="lblock"> following the rules about message headers in Section 4.2 of [Part1].</td><td> </td><td class="rblock"> rules about message headers in Section 4.2 of [Part1].</td><td class="lineno" valign="top"></td></tr> 481 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[anchor12: DISCUSS: header-specific canonicalisation]]</span></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> 482 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">If a header field is absent from a request, it can only match another</span></td><td class="lineno" valign="top"></td></tr> 483 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> request if it is also absent there.</span></td><td class="lineno" valign="top"></td></tr> 449 484 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 450 485 <tr><td class="lineno" valign="top"></td><td class="left"> A Vary header field-value of "*" always fails to match, and</td><td> </td><td class="right"> A Vary header field-value of "*" always fails to match, and</td><td class="lineno" valign="top"></td></tr> … … 452 487 <tr><td class="lineno" valign="top"></td><td class="left"> by the origin server.</td><td> </td><td class="right"> by the origin server.</td><td class="lineno" valign="top"></td></tr> 453 488 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 454 <tr><td class="lineno" valign="top"></td><td class="left"> If no stored response matches, the cache MAY forward the presented</td><td> </td><td class="right"> If no stored response matches, the cache MAY forward the presented</td><td class="lineno" valign="top"></td></tr> 455 <tr><td class="lineno" valign="top"></td><td class="left"> request to the origin server in a conditional request, and SHOULD</td><td> </td><td class="right"> request to the origin server in a conditional request, and SHOULD</td><td class="lineno" valign="top"></td></tr> 456 <tr><td class="lineno" valign="top"></td><td class="left"> include all ETags stored with potentially suitable responses in an</td><td> </td><td class="right"> include all ETags stored with potentially suitable responses in an</td><td class="lineno" valign="top"></td></tr> 457 <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match request header. If the server responds with 304 (Not</td><td> </td><td class="right"> If-None-Match request header. If the server responds with 304 (Not</td><td class="lineno" valign="top"></td></tr> 458 <tr><td class="lineno" valign="top"></td><td class="left"> Modified) and includes an entity tag or Content-Location that</td><td> </td><td class="right"> Modified) and includes an entity tag or Content-Location that</td><td class="lineno" valign="top"></td></tr> 459 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 460 <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 15, line 50</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 16, line 18</em></th><td></td></tr> 461 <tr><td class="lineno" valign="top"></td><td class="left"> entity-tag SHOULD NOT be included in the If-None-Match header field</td><td> </td><td class="right"> entity-tag SHOULD NOT be included in the If-None-Match header field</td><td class="lineno" valign="top"></td></tr> 462 <tr><td class="lineno" valign="top"></td><td class="left"> unless the request is for a range that would be fully satisfied by</td><td> </td><td class="right"> unless the request is for a range that would be fully satisfied by</td><td class="lineno" valign="top"></td></tr> 463 <tr><td class="lineno" valign="top"></td><td class="left"> that stored response.</td><td> </td><td class="right"> that stored response.</td><td class="lineno" valign="top"></td></tr> 464 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 465 <tr><td class="lineno" valign="top"></td><td class="left"> If a cache receives a successful response whose Content-Location</td><td> </td><td class="right"> If a cache receives a successful response whose Content-Location</td><td class="lineno" valign="top"></td></tr> 466 <tr><td class="lineno" valign="top"></td><td class="left"> field matches that of an existing stored response for the same</td><td> </td><td class="right"> field matches that of an existing stored response for the same</td><td class="lineno" valign="top"></td></tr> 467 <tr><td class="lineno" valign="top"></td><td class="left"> Request-URI, whose entity-tag differs from that of the existing</td><td> </td><td class="right"> Request-URI, whose entity-tag differs from that of the existing</td><td class="lineno" valign="top"></td></tr> 468 <tr><td class="lineno" valign="top"></td><td class="left"> stored response, and whose Date is more recent than that of the</td><td> </td><td class="right"> stored response, and whose Date is more recent than that of the</td><td class="lineno" valign="top"></td></tr> 469 <tr><td class="lineno" valign="top"></td><td class="left"> existing response, the existing response SHOULD NOT be returned in</td><td> </td><td class="right"> existing response, the existing response SHOULD NOT be returned in</td><td class="lineno" valign="top"></td></tr> 470 <tr><td class="lineno" valign="top"></td><td class="left"> response to future requests and SHOULD be deleted from the</td><td> </td><td class="right"> response to future requests and SHOULD be deleted from the</td><td class="lineno" valign="top"></td></tr> 471 <tr><td><a name="diff0026" /></td></tr> 472 <tr><td class="lineno" valign="top"></td><td class="lblock"> cache.[[anchor<span class="delete">13</span>: DISCUSS: Not sure if this is necessary.]]</td><td> </td><td class="rblock"> cache.[[anchor<span class="insert">9</span>: DISCUSS: Not sure if this is necessary.]]</td><td class="lineno" valign="top"></td></tr> 489 <tr><td><a name="diff0031" /></td></tr> 490 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">If no</span> stored response <span class="delete">matches, the cache MAY forward the presented</span></td><td> </td><td class="rblock"> <span class="insert">The</span> stored response with <span class="insert">matching selecting request-headers</span> is <span class="insert">known</span></td><td class="lineno" valign="top"></td></tr> 491 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> request to the origin server in a conditional request, and SHOULD</span></td><td> </td><td class="rblock"><span class="insert"> as the selected</span> response.</td><td class="lineno" valign="top"></td></tr> 492 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> include all ETags stored</span> with <span class="delete">potentially suitable responses in an</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 493 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If-None-Match request header. If the server responds with 304 (Not</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 494 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified) and includes an entity tag or Content-Location that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 495 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> indicates the entity to be used, that cached response MUST be used to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 496 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> satisfy the presented request, and SHOULD be used to update the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 497 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> corresponding stored response; see Section 2.7.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 498 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 499 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> If any of the stored responses contains only partial content, its</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 500 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity-tag SHOULD NOT be included in the If-None-Match header field</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 501 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> unless the request</span> is <span class="delete">for a range that would be fully satisfied by</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 502 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> that stored</span> response.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 503 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 504 <tr><td><a name="diff0032" /></td></tr> 505 <tr><td class="lineno" valign="top"></td><td class="lblock"> If <span class="delete">a cache receives a successful response whose Content-Location</span></td><td> </td><td class="rblock"> If <span class="insert">no selected</span> response is <span class="insert">available,</span> the <span class="insert">cache MAY forward</span> the</td><td class="lineno" valign="top"></td></tr> 506 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> field matches that of an existing stored</span> response <span class="delete">for the same</span></td><td> </td><td class="rblock"> <span class="insert">presented request</span> to the <span class="insert">origin server in a conditional request; see</span></td><td class="lineno" valign="top"></td></tr> 507 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Request-URI, whose entity-tag differs from that of the existing</span></td><td> </td><td class="rblock"><span class="insert"> Section 2.4.</span></td><td class="lineno" valign="top"></td></tr> 508 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> stored response, and whose Date</span> is <span class="delete">more recent than that of</span> the</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 509 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">existing response,</span> the <span class="delete">existing response SHOULD NOT be returned in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 510 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response</span> to <span class="delete">future requests and SHOULD be deleted from</span> the</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 511 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">cache.[[anchor13: DISCUSS: Not sure if this is necessary.]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 473 512 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 474 513 <tr><td class="lineno" valign="top"></td><td class="left">2.7. Combining Responses</td><td> </td><td class="right">2.7. Combining Responses</td><td class="lineno" valign="top"></td></tr> 475 514 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 476 515 <tr><td class="lineno" valign="top"></td><td class="left"> When a cache receives a 304 (Not Modified) response or a 206 (Partial</td><td> </td><td class="right"> When a cache receives a 304 (Not Modified) response or a 206 (Partial</td><td class="lineno" valign="top"></td></tr> 477 <tr><td class="lineno" valign="top"></td><td class="left"> Content) response, it needs to update the stored response with the</td><td> </td><td class="right"> Content) response, it needs to update the stored response with the</td><td class="lineno" valign="top"></td></tr> 478 <tr><td class="lineno" valign="top"></td><td class="left"> new one, so that the updated response can be sent to the client.</td><td> </td><td class="right"> new one, so that the updated response can be sent to the client.</td><td class="lineno" valign="top"></td></tr> 479 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 480 <tr><td class="lineno" valign="top"></td><td class="left"> If the status code is 304 (Not Modified), the cache SHOULD use the</td><td> </td><td class="right"> If the status code is 304 (Not Modified), the cache SHOULD use the</td><td class="lineno" valign="top"></td></tr> 481 <tr><td class="lineno" valign="top"></td><td class="left"> stored entity-body as the updated entity-body. If the status code is</td><td> </td><td class="right"> stored entity-body as the updated entity-body. If the status code is</td><td class="lineno" valign="top"></td></tr> 482 <tr><td class="lineno" valign="top"></td><td class="left"> 206 (Partial Content) and the ETag or Last-Modified headers match</td><td> </td><td class="right"> 206 (Partial Content) and the ETag or Last-Modified headers match</td><td class="lineno" valign="top"></td></tr> 483 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 484 <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 16, line 38</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 17, line 5</em></th><td></td></tr> 485 <tr><td class="lineno" valign="top"></td><td class="left"> o any headers provided in the 304 or 206 response MUST replace the</td><td> </td><td class="right"> o any headers provided in the 304 or 206 response MUST replace the</td><td class="lineno" valign="top"></td></tr> 516 <tr><td><a name="diff0033" /></td></tr> 517 <tr><td class="lineno" valign="top"></td><td class="lblock"> Content) <span class="delete">response,</span> it needs to <span class="delete">update</span> the stored response with the</td><td> </td><td class="rblock"> Content) <span class="insert">response (in this section, the "new" response"),</span> it needs to</td><td class="lineno" valign="top"></td></tr> 518 <tr><td class="lineno" valign="top"></td><td class="lblock"> new one, so that the updated response can be <span class="delete">sent</span> to the <span class="delete">client.</span></td><td> </td><td class="rblock"> <span class="insert">created an updated response by combining</span> the stored response with the</td><td class="lineno" valign="top"></td></tr> 519 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> new one, so that the updated response can be <span class="insert">used</span> to <span class="insert">satisfy</span> the</td><td class="lineno" valign="top"></td></tr> 520 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">request.</span></td><td class="lineno" valign="top"></td></tr> 521 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 522 <tr><td><a name="diff0034" /></td></tr> 523 <tr><td class="lineno" valign="top"></td><td class="lblock"> If the <span class="delete">status code is 304 (Not Modified), the cache SHOULD use the</span></td><td> </td><td class="rblock"> If the <span class="insert">new response contains an ETag, it identifies</span> the stored</td><td class="lineno" valign="top"></td></tr> 524 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> stored entity-body as the updated entity-body. If the status code is</span></td><td> </td><td class="rblock"> response <span class="insert">to use. [[anchor10: may need language about Content-Location</span></td><td class="lineno" valign="top"></td></tr> 525 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 206 (Partial Content) and the ETag or Last-Modified headers match</span></td><td> </td><td class="rblock"><span class="insert"> here]][[anchor11: cover case where INM</span> with <span class="insert">multiple etags was sent]]</span></td><td class="lineno" valign="top"></td></tr> 526 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> exactly, the cache MAY combine the stored entity-body in</span> the stored</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 527 <tr><td class="lineno" valign="top"></td><td class="lblock"> response with <span class="delete">the updated entity-body received in the response and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 528 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> use the result as the updated entity-body (see Section 4 of [Part5]).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 529 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 530 <tr><td><a name="diff0035" /></td></tr> 531 <tr><td class="lineno" valign="top"></td><td class="lblock"> The stored response headers are used <span class="delete">for</span> the updated response, except</td><td> </td><td class="rblock"> <span class="insert">If the status code is 206 (partial content), both the stored and new</span></td><td class="lineno" valign="top"></td></tr> 532 <tr><td class="lineno" valign="top"></td><td class="lblock"> that</td><td> </td><td class="rblock"><span class="insert"> responses MUST have ETags, and those ETags MUST match using the</span></td><td class="lineno" valign="top"></td></tr> 533 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> strong comparison function (see Section 4 of [Part4]). Otherwise,</span></td><td class="lineno" valign="top"></td></tr> 534 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> the responses MUST NOT be combined.</span></td><td class="lineno" valign="top"></td></tr> 535 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> 536 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> The stored response headers are used <span class="insert">as those of</span> the updated</td><td class="lineno" valign="top"></td></tr> 537 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> response, except that</td><td class="lineno" valign="top"></td></tr> 538 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 539 <tr><td class="lineno" valign="top"></td><td class="left"> o any stored Warning headers with warn-code 1xx (see Section 3.6)</td><td> </td><td class="right"> o any stored Warning headers with warn-code 1xx (see Section 3.6)</td><td class="lineno" valign="top"></td></tr> 540 <tr><td><a name="diff0036" /></td></tr> 541 <tr><td class="lineno" valign="top"></td><td class="lblock"> MUST be deleted from the stored response and the <span class="delete">forwarded</span></td><td> </td><td class="rblock"> MUST be deleted from the stored response and the <span class="insert">updated</span> response.</td><td class="lineno" valign="top"></td></tr> 542 <tr><td class="lineno" valign="top"></td><td class="lblock"> response.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 543 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 544 <tr><td class="lineno" valign="top"></td><td class="left"> o any stored Warning headers with warn-code 2xx MUST be retained in</td><td> </td><td class="right"> o any stored Warning headers with warn-code 2xx MUST be retained in</td><td class="lineno" valign="top"></td></tr> 545 <tr><td><a name="diff0037" /></td></tr> 546 <tr><td class="lineno" valign="top"></td><td class="lblock"> the stored response and the <span class="delete">forward</span>ed response.</td><td> </td><td class="rblock"> the stored response and the <span class="insert">updat</span>ed response.</td><td class="lineno" valign="top"></td></tr> 547 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 548 <tr><td><a name="diff0038" /></td></tr> 549 <tr><td class="lineno" valign="top"></td><td class="lblock"> o any headers provided in the <span class="delete">304 or 206</span> response MUST replace the</td><td> </td><td class="rblock"> o any headers provided in the <span class="insert">new</span> response MUST replace the</td><td class="lineno" valign="top"></td></tr> 486 550 <tr><td class="lineno" valign="top"></td><td class="left"> corresponding headers from the stored response.</td><td> </td><td class="right"> corresponding headers from the stored response.</td><td class="lineno" valign="top"></td></tr> 487 551 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 488 <tr><td class="lineno" valign="top"></td><td class="left"> A cache MUST also replace any stored headers with corresponding</td><td> </td><td class="right"> A cache MUST also replace any stored headers with corresponding</td><td class="lineno" valign="top"></td></tr> 489 <tr><td class="lineno" valign="top"></td><td class="left"> headers received in the incoming response, except for Warning headers</td><td> </td><td class="right"> headers received in the incoming response, except for Warning headers</td><td class="lineno" valign="top"></td></tr> 490 <tr><td class="lineno" valign="top"></td><td class="left"> as described immediately above. If a header field-name in the</td><td> </td><td class="right"> as described immediately above. If a header field-name in the</td><td class="lineno" valign="top"></td></tr> 491 <tr><td class="lineno" valign="top"></td><td class="left"> incoming response matches more than one header in the stored</td><td> </td><td class="right"> incoming response matches more than one header in the stored</td><td class="lineno" valign="top"></td></tr> 492 <tr><td class="lineno" valign="top"></td><td class="left"> response, all such old headers MUST be replaced. It MAY store the</td><td> </td><td class="right"> response, all such old headers MUST be replaced. It MAY store the</td><td class="lineno" valign="top"></td></tr> 493 <tr><td class="lineno" valign="top"></td><td class="left"> combined entity-body.</td><td> </td><td class="right"> combined entity-body.</td><td class="lineno" valign="top"></td></tr> 494 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 495 <tr><td><a name="diff0027" /></td></tr> 496 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor1<span class="delete">4</span>: ISSUE: discuss how to handle HEAD updates]]</td><td> </td><td class="rblock"> [[anchor1<span class="insert">0</span>: ISSUE: discuss how to handle HEAD updates]]</td><td class="lineno" valign="top"></td></tr> 552 <tr><td><a name="diff0039" /></td></tr> 553 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">A cache MUST also replace any stored headers with corresponding</span></td><td> </td><td class="rblock"> If a header field-name in the <span class="insert">new</span> response matches more than one</td><td class="lineno" valign="top"></td></tr> 554 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> headers received in the incoming response, except for Warning headers</span></td><td> </td><td class="rblock"> header in the stored response, all such <span class="insert">stored</span> headers MUST be</td><td class="lineno" valign="top"></td></tr> 555 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> as described immediately above.</span> If a header field-name in the</td><td> </td><td class="rblock"> replaced.</td><td class="lineno" valign="top"></td></tr> 556 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">incoming</span> response matches more than one header in the stored</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 557 <tr><td class="lineno" valign="top"></td><td class="lblock"> response, all such <span class="delete">old</span> headers MUST be replaced. <span class="delete">It MAY store the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 558 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> combined entity-body.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 559 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 560 <tr><td><a name="diff0040" /></td></tr> 561 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[anchor14:</span> ISSUE: discuss how to handle HEAD updates]]</td><td> </td><td class="rblock"> <span class="insert">The updated response can [[[[anchor12: requirement?]]]] be used to</span></td><td class="lineno" valign="top"></td></tr> 562 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> replace the stored response in cache. In the case of a 206 response,</span></td><td class="lineno" valign="top"></td></tr> 563 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> the combined entity-body MAY be stored.</span></td><td class="lineno" valign="top"></td></tr> 564 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr> 565 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> [[anchor13:</span> ISSUE: discuss how to handle HEAD updates]]</td><td class="lineno" valign="top"></td></tr> 497 566 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 498 567 <tr><td class="lineno" valign="top"></td><td class="left">3. Header Field Definitions</td><td> </td><td class="right">3. Header Field Definitions</td><td class="lineno" valign="top"></td></tr> … … 515 584 <tr><td class="lineno" valign="top"></td><td class="left"> Age-v = delta-seconds</td><td> </td><td class="right"> Age-v = delta-seconds</td><td class="lineno" valign="top"></td></tr> 516 585 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 517 <tr><td><a name="diff00 28" /></td></tr>586 <tr><td><a name="diff0041" /></td></tr> 518 587 <tr><td class="lineno" valign="top"></td><td class="lblock"> Age field-values are non-negative <span class="delete">decimal</span> integers, representing time</td><td> </td><td class="rblock"> Age field-values are non-negative integers, representing time in</td><td class="lineno" valign="top"></td></tr> 519 588 <tr><td class="lineno" valign="top"></td><td class="lblock"> in seconds.</td><td> </td><td class="rblock"> seconds.</td><td class="lineno" valign="top"></td></tr> … … 529 598 <tr><td class="lineno" valign="top"></td><td class="left"> response is not first-hand. However, the converse is not true, since</td><td> </td><td class="right"> response is not first-hand. However, the converse is not true, since</td><td class="lineno" valign="top"></td></tr> 530 599 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 531 <tr bgcolor="gray" ><td></td><th><a name="part-l1 4" /><small>skipping to change at</small><em> page 19, line 13</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 19, line 21</em></th><td></td></tr>600 <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 19, line 13</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 19, line 21</em></th><td></td></tr> 532 601 <tr><td class="lineno" valign="top"></td><td class="left"> client is not willing to accept a stale response.</td><td> </td><td class="right"> client is not willing to accept a stale response.</td><td class="lineno" valign="top"></td></tr> 533 602 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 540 609 <tr><td class="lineno" valign="top"></td><td class="left"> by no more than the specified number of seconds. If no value is</td><td> </td><td class="right"> by no more than the specified number of seconds. If no value is</td><td class="lineno" valign="top"></td></tr> 541 610 <tr><td class="lineno" valign="top"></td><td class="left"> assigned to max-stale, then the client is willing to accept a</td><td> </td><td class="right"> assigned to max-stale, then the client is willing to accept a</td><td class="lineno" valign="top"></td></tr> 542 <tr><td><a name="diff00 29" /></td></tr>543 <tr><td class="lineno" valign="top"></td><td class="lblock"> stale response of any age. [[anchor1<span class="delete">5</span>: of any staleness? --mnot]]</td><td> </td><td class="rblock"> stale response of any age. [[anchor1<span class="insert"> 1</span>: of any staleness? --mnot]]</td><td class="lineno" valign="top"></td></tr>611 <tr><td><a name="diff0042" /></td></tr> 612 <tr><td class="lineno" valign="top"></td><td class="lblock"> stale response of any age. [[anchor1<span class="delete">5</span>: of any staleness? --mnot]]</td><td> </td><td class="rblock"> stale response of any age. [[anchor1<span class="insert">4</span>: of any staleness? --mnot]]</td><td class="lineno" valign="top"></td></tr> 544 613 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 545 614 <tr><td class="lineno" valign="top"></td><td class="left"> min-fresh</td><td> </td><td class="right"> min-fresh</td><td class="lineno" valign="top"></td></tr> … … 553 622 <tr><td class="lineno" valign="top"></td><td class="left"> no-transform</td><td> </td><td class="right"> no-transform</td><td class="lineno" valign="top"></td></tr> 554 623 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 555 <tr bgcolor="gray" ><td></td><th><a name="part-l1 5" /><small>skipping to change at</small><em> page 20, line 51</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 20, line 51</em></th><td></td></tr>624 <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 20, line 51</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 20, line 51</em></th><td></td></tr> 556 625 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 557 626 <tr><td class="lineno" valign="top"></td><td class="left"> no-cache</td><td> </td><td class="right"> no-cache</td><td class="lineno" valign="top"></td></tr> … … 564 633 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 565 634 <tr><td class="lineno" valign="top"></td><td class="left"> If the no-cache response directive specifies one or more field-</td><td> </td><td class="right"> If the no-cache response directive specifies one or more field-</td><td class="lineno" valign="top"></td></tr> 566 <tr><td><a name="diff00 30" /></td></tr>635 <tr><td><a name="diff0043" /></td></tr> 567 636 <tr><td class="lineno" valign="top"></td><td class="lblock"> names, this requirement is limited to the field-values asso<span class="delete">sic</span>ated</td><td> </td><td class="rblock"> names, this requirement is limited to the field-values asso<span class="insert">ci</span>ated</td><td class="lineno" valign="top"></td></tr> 568 637 <tr><td class="lineno" valign="top"></td><td class="left"> with the listed response headers. That is, the specified field-</td><td> </td><td class="right"> with the listed response headers. That is, the specified field-</td><td class="lineno" valign="top"></td></tr> … … 577 646 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 578 647 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 579 <tr bgcolor="gray" ><td></td><th><a name="part-l1 6" /><small>skipping to change at</small><em> page 23, line 26</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 23, line 26</em></th><td></td></tr>648 <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 23, line 26</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 23, line 26</em></th><td></td></tr> 580 649 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 581 650 <tr><td class="lineno" valign="top"></td><td class="left"> The entity-header field "Expires" gives the date/time after which the</td><td> </td><td class="right"> The entity-header field "Expires" gives the date/time after which the</td><td class="lineno" valign="top"></td></tr> … … 588 657 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 589 658 <tr><td class="lineno" valign="top"></td><td class="left"> The field-value is an absolute date and time as defined by HTTP-date</td><td> </td><td class="right"> The field-value is an absolute date and time as defined by HTTP-date</td><td class="lineno" valign="top"></td></tr> 590 <tr><td><a name="diff00 31" /></td></tr>659 <tr><td><a name="diff0044" /></td></tr> 591 660 <tr><td class="lineno" valign="top"></td><td class="lblock"> in Section 3.2<span class="delete">.1</span> of [Part1]; it MUST be sent in rfc1123-date format.</td><td> </td><td class="rblock"> in Section 3.2 of [Part1]; it MUST be sent in rfc1123-date format.</td><td class="lineno" valign="top"></td></tr> 592 661 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 601 670 <tr><td class="lineno" valign="top"></td><td class="left"> age directive (see Section 3.2.2), that directive overrides the</td><td> </td><td class="right"> age directive (see Section 3.2.2), that directive overrides the</td><td class="lineno" valign="top"></td></tr> 602 671 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 603 <tr bgcolor="gray" ><td></td><th><a name="part-l1 7" /><small>skipping to change at</small><em> page 29, line 48</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 29, line 48</em></th><td></td></tr>672 <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 29, line 48</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 29, line 48</em></th><td></td></tr> 604 673 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 605 674 <tr><td class="lineno" valign="top"></td><td class="left"> [ISO-8859-1]</td><td> </td><td class="right"> [ISO-8859-1]</td><td class="lineno" valign="top"></td></tr> … … 612 681 <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> 613 682 <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td class="lineno" valign="top"></td></tr> 614 <tr><td><a name="diff00 32" /></td></tr>683 <tr><td><a name="diff0045" /></td></tr> 615 684 <tr><td class="lineno" valign="top"></td><td class="lblock"> and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-06</span></td><td> </td><td class="rblock"> and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-07</span></td><td class="lineno" valign="top"></td></tr> 616 685 <tr><td class="lineno" valign="top"></td><td class="lblock"> (work in progress), <span class="delete">March</span> 2009.</td><td> </td><td class="rblock"> (work in progress), <span class="insert">July</span> 2009.</td><td class="lineno" valign="top"></td></tr> … … 619 688 <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> 620 689 <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td class="lineno" valign="top"></td></tr> 621 <tr><td><a name="diff00 33" /></td></tr>690 <tr><td><a name="diff0046" /></td></tr> 622 691 <tr><td class="lineno" valign="top"></td><td class="lblock"> Semantics", <span class="delete">draft-ietf-httpbis-p2-semantics-06</span> (work in</td><td> </td><td class="rblock"> Semantics", <span class="insert">draft-ietf-httpbis-p2-semantics-07</span> (work in</td><td class="lineno" valign="top"></td></tr> 623 692 <tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">March</span> 2009.</td><td> </td><td class="rblock"> progress), <span class="insert">July</span> 2009.</td><td class="lineno" valign="top"></td></tr> … … 626 695 <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> 627 696 <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td class="lineno" valign="top"></td></tr> 628 <tr><td><a name="diff00 34" /></td></tr>697 <tr><td><a name="diff0047" /></td></tr> 629 698 <tr><td class="lineno" valign="top"></td><td class="lblock"> and Content Negotiation", <span class="delete">draft-ietf-httpbis-p3-payload-06</span></td><td> </td><td class="rblock"> and Content Negotiation", <span class="insert">draft-ietf-httpbis-p3-payload-07</span></td><td class="lineno" valign="top"></td></tr> 630 699 <tr><td class="lineno" valign="top"></td><td class="lblock"> (work in progress), <span class="delete">March</span> 2009.</td><td> </td><td class="rblock"> (work in progress), <span class="insert">July</span> 2009.</td><td class="lineno" valign="top"></td></tr> … … 633 702 <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> 634 703 <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td class="lineno" valign="top"></td></tr> 635 <tr><td><a name="diff00 35" /></td></tr>704 <tr><td><a name="diff0048" /></td></tr> 636 705 <tr><td class="lineno" valign="top"></td><td class="lblock"> Requests", <span class="delete">draft-ietf-httpbis-p4-conditional-06</span> (work in</td><td> </td><td class="rblock"> Requests", <span class="insert">draft-ietf-httpbis-p4-conditional-07</span> (work in</td><td class="lineno" valign="top"></td></tr> 637 706 <tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">March</span> 2009.</td><td> </td><td class="rblock"> progress), <span class="insert">July</span> 2009.</td><td class="lineno" valign="top"></td></tr> … … 640 709 <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> 641 710 <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and</td><td class="lineno" valign="top"></td></tr> 642 <tr><td><a name="diff00 36" /></td></tr>711 <tr><td><a name="diff0049" /></td></tr> 643 712 <tr><td class="lineno" valign="top"></td><td class="lblock"> Partial Responses", <span class="delete">draft-ietf-httpbis-p5-range-06</span> (work</td><td> </td><td class="rblock"> Partial Responses", <span class="insert">draft-ietf-httpbis-p5-range-07</span> (work</td><td class="lineno" valign="top"></td></tr> 644 713 <tr><td class="lineno" valign="top"></td><td class="lblock"> in progress), <span class="delete">March</span> 2009.</td><td> </td><td class="rblock"> in progress), <span class="insert">July</span> 2009.</td><td class="lineno" valign="top"></td></tr> … … 647 716 <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> 648 717 <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication",</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication",</td><td class="lineno" valign="top"></td></tr> 649 <tr><td><a name="diff00 37" /></td></tr>718 <tr><td><a name="diff0050" /></td></tr> 650 719 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">draft-ietf-httpbis-p7-auth-06</span> (work in progress),</td><td> </td><td class="rblock"> <span class="insert">draft-ietf-httpbis-p7-auth-07</span> (work in progress),</td><td class="lineno" valign="top"></td></tr> 651 720 <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">March</span> 2009.</td><td> </td><td class="rblock"> <span class="insert">July</span> 2009.</td><td class="lineno" valign="top"></td></tr> … … 661 730 <tr><td class="lineno" valign="top"></td><td class="left"> Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td> </td><td class="right"> Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td class="lineno" valign="top"></td></tr> 662 731 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 663 <tr bgcolor="gray" ><td></td><th><a name="part-l1 8" /><small>skipping to change at</small><em> page 31, line 20</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 31, line 20</em></th><td></td></tr>732 <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 31, line 20</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 31, line 20</em></th><td></td></tr> 664 733 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 665 734 <tr><td class="lineno" valign="top"></td><td class="left">A.1. Changes from RFC 2068</td><td> </td><td class="right">A.1. Changes from RFC 2068</td><td class="lineno" valign="top"></td></tr> … … 672 741 <tr><td class="lineno" valign="top"></td><td class="left"> transfer encoding that may not be self delimiting); it was important</td><td> </td><td class="right"> transfer encoding that may not be self delimiting); it was important</td><td class="lineno" valign="top"></td></tr> 673 742 <tr><td class="lineno" valign="top"></td><td class="left"> to straighten out exactly how message lengths are computed. (see also</td><td> </td><td class="right"> to straighten out exactly how message lengths are computed. (see also</td><td class="lineno" valign="top"></td></tr> 674 <tr><td><a name="diff00 38" /></td></tr>675 <tr><td class="lineno" valign="top"></td><td class="lblock"> [Part1], [Part3] and [Part5]) [[anchor1<span class="delete">8</span>: This used to refer to the</td><td> </td><td class="rblock"> [Part1], [Part3] and [Part5]) [[anchor1<span class="insert"> 4</span>: This used to refer to the</td><td class="lineno" valign="top"></td></tr>743 <tr><td><a name="diff0051" /></td></tr> 744 <tr><td class="lineno" valign="top"></td><td class="lblock"> [Part1], [Part3] and [Part5]) [[anchor1<span class="delete">8</span>: This used to refer to the</td><td> </td><td class="rblock"> [Part1], [Part3] and [Part5]) [[anchor1<span class="insert">7</span>: This used to refer to the</td><td class="lineno" valign="top"></td></tr> 676 745 <tr><td class="lineno" valign="top"></td><td class="left"> text about non-modifiable headers, and will have to be updated later</td><td> </td><td class="right"> text about non-modifiable headers, and will have to be updated later</td><td class="lineno" valign="top"></td></tr> 677 746 <tr><td class="lineno" valign="top"></td><td class="left"> on. --jre]]</td><td> </td><td class="right"> on. --jre]]</td><td class="lineno" valign="top"></td></tr> 678 747 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 679 748 <tr><td class="lineno" valign="top"></td><td class="left"> Proxies should be able to add Content-Length when appropriate.</td><td> </td><td class="right"> Proxies should be able to add Content-Length when appropriate.</td><td class="lineno" valign="top"></td></tr> 680 <tr><td><a name="diff00 39" /></td></tr>681 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor1<span class="delete">9</span>: This used to refer to the text about non-modifiable</td><td> </td><td class="rblock"> [[anchor1<span class="insert"> 5</span>: This used to refer to the text about non-modifiable</td><td class="lineno" valign="top"></td></tr>749 <tr><td><a name="diff0052" /></td></tr> 750 <tr><td class="lineno" valign="top"></td><td class="lblock"> [[anchor1<span class="delete">9</span>: This used to refer to the text about non-modifiable</td><td> </td><td class="rblock"> [[anchor1<span class="insert">8</span>: This used to refer to the text about non-modifiable</td><td class="lineno" valign="top"></td></tr> 682 751 <tr><td class="lineno" valign="top"></td><td class="left"> headers, and will have to be updated later on. --jre]]</td><td> </td><td class="right"> headers, and will have to be updated later on. --jre]]</td><td class="lineno" valign="top"></td></tr> 683 752 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 691 760 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 692 761 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 693 <tr bgcolor="gray" ><td></td><th><a name="part-l1 9" /><small>skipping to change at</small><em> page 32, line 10</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 32, line 10</em></th><td></td></tr>762 <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 32, line 10</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 32, line 10</em></th><td></td></tr> 694 763 <tr><td class="lineno" valign="top"></td><td class="left"> Age = "Age:" OWS Age-v</td><td> </td><td class="right"> Age = "Age:" OWS Age-v</td><td class="lineno" valign="top"></td></tr> 695 764 <tr><td class="lineno" valign="top"></td><td class="left"> Age-v = delta-seconds</td><td> </td><td class="right"> Age-v = delta-seconds</td><td class="lineno" valign="top"></td></tr> … … 702 771 <tr><td class="lineno" valign="top"></td><td class="left"> Expires-v = HTTP-date</td><td> </td><td class="right"> Expires-v = HTTP-date</td><td class="lineno" valign="top"></td></tr> 703 772 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 704 <tr><td><a name="diff00 40" /></td></tr>773 <tr><td><a name="diff0053" /></td></tr> 705 774 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP-date = <HTTP-date, defined in [Part1], Section 3.2<span class="delete">.1</span>></td><td> </td><td class="rblock"> HTTP-date = <HTTP-date, defined in [Part1], Section 3.2></td><td class="lineno" valign="top"></td></tr> 706 775 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 715 784 <tr><td class="lineno" valign="top"></td><td class="left"> ] ) )</td><td> </td><td class="right"> ] ) )</td><td class="lineno" valign="top"></td></tr> 716 785 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 717 <tr bgcolor="gray" ><td></td><th><a name="part-l 20" /><small>skipping to change at</small><em> page 35, line 42</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 35, line 42</em></th><td></td></tr>786 <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 35, line 42</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 35, line 42</em></th><td></td></tr> 718 787 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 719 788 <tr><td class="lineno" valign="top"></td><td class="left"> o <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/139>: "Methods</td><td> </td><td class="right"> o <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/139>: "Methods</td><td class="lineno" valign="top"></td></tr> … … 726 795 <tr><td class="lineno" valign="top"></td><td class="left"> ABNF introduction.</td><td> </td><td class="right"> ABNF introduction.</td><td class="lineno" valign="top"></td></tr> 727 796 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 728 <tr><td><a name="diff00 41" /></td></tr>797 <tr><td><a name="diff0054" /></td></tr> 729 798 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">C.8. Since draft-ietf-httpbis-p6-cache-06</span></td><td class="lineno" valign="top"></td></tr> 730 799 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr> … … 733 802 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/161>: "base for</span></td><td class="lineno" valign="top"></td></tr> 734 803 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> numeric protocol elements"</span></td><td class="lineno" valign="top"></td></tr> 804 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr> 805 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> Affected issues:</span></td><td class="lineno" valign="top"></td></tr> 806 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr> 807 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/37>: Vary and non-</span></td><td class="lineno" valign="top"></td></tr> 808 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> existant headers</span></td><td class="lineno" valign="top"></td></tr> 735 809 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> 736 810 <tr><td class="lineno" valign="top"></td><td class="left">Index</td><td> </td><td class="right">Index</td><td class="lineno" valign="top"></td></tr> … … 743 817 <tr><td class="lineno" valign="top"></td><td class="left"> cache 5</td><td> </td><td class="right"> cache 5</td><td class="lineno" valign="top"></td></tr> 744 818 <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directives</td><td> </td><td class="right"> Cache Directives</td><td class="lineno" valign="top"></td></tr> 745 <tr><td><a name="diff00 42" /></td></tr>819 <tr><td><a name="diff0055" /></td></tr> 746 820 <tr><td class="lineno" valign="top"></td><td class="lblock"> max-age 1<span class="delete">8</span>, 21</td><td> </td><td class="rblock"> max-age 1<span class="insert">9</span>, 21</td><td class="lineno" valign="top"></td></tr> 747 821 <tr><td class="lineno" valign="top"></td><td class="left"> max-stale 19</td><td> </td><td class="right"> max-stale 19</td><td class="lineno" valign="top"></td></tr> … … 756 830 <tr><td class="lineno" valign="top"></td><td class="left"> public 20</td><td> </td><td class="right"> public 20</td><td class="lineno" valign="top"></td></tr> 757 831 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 758 <tr bgcolor="gray" ><td></td><th><a name="part-l 21" /><small>skipping to change at</small><em> page 37, line 16</em></th><th> </th><th><a name="part-r21" /><small>skipping to change at</small><em> page 37, line 24</em></th><td></td></tr>832 <tr bgcolor="gray" ><td></td><th><a name="part-l19" /><small>skipping to change at</small><em> page 37, line 16</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 37, line 27</em></th><td></td></tr> 759 833 <tr><td class="lineno" valign="top"></td><td class="left"> Age 17</td><td> </td><td class="right"> Age 17</td><td class="lineno" valign="top"></td></tr> 760 834 <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control 17</td><td> </td><td class="right"> Cache-Control 17</td><td class="lineno" valign="top"></td></tr> … … 767 841 <tr><td class="lineno" valign="top"></td><td class="left"> M</td><td> </td><td class="right"> M</td><td class="lineno" valign="top"></td></tr> 768 842 <tr><td class="lineno" valign="top"></td><td class="left"> max-age</td><td> </td><td class="right"> max-age</td><td class="lineno" valign="top"></td></tr> 769 <tr><td><a name="diff00 43" /></td></tr>843 <tr><td><a name="diff0056" /></td></tr> 770 844 <tr><td class="lineno" valign="top"></td><td class="lblock"> Cache Directive 1<span class="delete">8</span>, 21</td><td> </td><td class="rblock"> Cache Directive 1<span class="insert">9</span>, 21</td><td class="lineno" valign="top"></td></tr> 771 845 <tr><td class="lineno" valign="top"></td><td class="left"> max-stale</td><td> </td><td class="right"> max-stale</td><td class="lineno" valign="top"></td></tr> … … 780 854 <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 18, 20</td><td> </td><td class="right"> Cache Directive 18, 20</td><td class="lineno" valign="top"></td></tr> 781 855 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 782 <tr bgcolor="gray" ><td></td><th><a name="part-l2 2" /><small>skipping to change at</small><em> page 39, line 30</em></th><th> </th><th><a name="part-r22" /><small>skipping to change at</small><em> page 40, line 4</em></th><td></td></tr>856 <tr bgcolor="gray" ><td></td><th><a name="part-l20" /><small>skipping to change at</small><em> page 39, line 30</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 40, line 4</em></th><td></td></tr> 783 857 <tr><td class="lineno" valign="top"></td><td class="left"> Tim Berners-Lee</td><td> </td><td class="right"> Tim Berners-Lee</td><td class="lineno" valign="top"></td></tr> 784 858 <tr><td class="lineno" valign="top"></td><td class="left"> World Wide Web Consortium</td><td> </td><td class="right"> World Wide Web Consortium</td><td class="lineno" valign="top"></td></tr> … … 791 865 <tr><td class="lineno" valign="top"></td><td class="left"> Email: timbl@w3.org</td><td> </td><td class="right"> Email: timbl@w3.org</td><td class="lineno" valign="top"></td></tr> 792 866 <tr><td class="lineno" valign="top"></td><td class="left"> URI: http://www.w3.org/People/Berners-Lee/</td><td> </td><td class="right"> URI: http://www.w3.org/People/Berners-Lee/</td><td class="lineno" valign="top"></td></tr> 793 <tr><td><a name="diff00 44" /></td></tr>867 <tr><td><a name="diff0057" /></td></tr> 794 868 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 795 869 <tr><td class="lineno" valign="top"></td><td class="left"> Yves Lafon (editor)</td><td> </td><td class="right"> Yves Lafon (editor)</td><td class="lineno" valign="top"></td></tr> … … 802 876 <tr><td class="lineno" valign="top"></td><td class="left"> Email: ylafon@w3.org</td><td> </td><td class="right"> Email: ylafon@w3.org</td><td class="lineno" valign="top"></td></tr> 803 877 <tr><td class="lineno" valign="top"></td><td class="left"> URI: http://www.raubacapeu.net/people/yves/</td><td> </td><td class="right"> URI: http://www.raubacapeu.net/people/yves/</td><td class="lineno" valign="top"></td></tr> 804 <tr><td><a name="diff00 45" /></td></tr>878 <tr><td><a name="diff0058" /></td></tr> 805 879 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> 806 880 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">Mark Nottingham (editor)</span></td><td class="lineno" valign="top"></td></tr> … … 821 895 822 896 <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> 823 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 45change blocks. </a></th></tr>824 <tr class="stats"><td></td><th><i> 56 lines changed or deleted</i></th><th><i> </i></th><th><i>79lines changed or added</i></th><td></td></tr>897 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 58 change blocks. </a></th></tr> 898 <tr class="stats"><td></td><th><i>119 lines changed or deleted</i></th><th><i> </i></th><th><i>145 lines changed or added</i></th><td></td></tr> 825 899 <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.35. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr> 826 900 </table>
Note: See TracChangeset
for help on using the changeset viewer.