Changeset 2718
- Timestamp:
- 05/06/14 13:59:46 (9 years ago)
- Location:
- draft-ietf-httpbis/latest/auth48
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/auth48/rfc7230.abdiff.txt
r2712 r2718 466 466 467 467 468 Section 3.3.1., paragraph 8: 469 OLD: 470 471 Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), Transfer- 472 Encoding is a property of the message, not of the representation, and 473 any recipient along the request/response chain MAY decode the 474 received transfer coding(s) or apply additional transfer coding(s) to 475 the message body, assuming that corresponding changes are made to the 476 Transfer-Encoding field-value. Additional information about the 477 encoding parameters can be provided by other header fields not 478 defined by this specification. 479 480 NEW: 481 482 Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), 483 Transfer-Encoding is a property of the message, not of the 484 representation, and any recipient along the request/response chain 485 MAY decode the received transfer coding(s) or apply additional 486 transfer coding(s) to the message body, assuming that corresponding 487 changes are made to the Transfer-Encoding field-value. Additional 488 information about the encoding parameters can be provided by other 489 header fields not defined by this specification. 490 491 468 492 Section 3.3.2., paragraph 10: 469 493 OLD: … … 764 788 765 789 790 Section 19.7.1, paragraph 4: 791 OLD: 792 793 Clients are also encouraged to consider the use of Connection: keep- 794 alive in requests carefully; while they can enable persistent 795 connections with HTTP/1.0 servers, clients using them will need to 796 monitor the connection for "hung" requests (which indicate that the 797 client ought stop sending the header field), and this mechanism ought 798 not be used by clients at all when a proxy is being used. 799 800 NEW: 801 802 Clients are also encouraged to consider the use of Connection: 803 keep-alive in requests carefully; while they can enable persistent 804 connections with HTTP/1.0 servers, clients using them will need to 805 monitor the connection for "hung" requests (which indicate that the 806 client ought stop sending the header field), and this mechanism ought 807 not be used by clients at all when a proxy is being used. 808 809 766 810 Section 19.7.1, paragraph 21: 767 811 OLD: … … 780 824 781 825 The segment + query components of RFC 3986 have been used to define 782 the request-target, instead of abs_path from RFC 1808. The asterisk-783 form of the request-target is only allowed with the OPTIONS method.784 (Section 5.3)826 the request-target, instead of abs_path from RFC 1808. The 827 asterisk-form of the request-target is only allowed with the OPTIONS 828 method. (Section 5.3) 785 829 786 830 -
draft-ietf-httpbis/latest/auth48/rfc7230.diff.html
r2712 r2718 461 461 <tr><td class="lineno" valign="top"></td><td class="left"> [RFC7231]) switch to tunnel mode instead of having a message body.</td><td> </td><td class="right"> [RFC7231]) switch to tunnel mode instead of having a message body.</td><td class="lineno" valign="top"></td></tr> 462 462 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 463 <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 30, line 40</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 31, line 14</em></th><td></td></tr> 463 <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 28, line 50</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 29, line 25</em></th><td></td></tr> 464 <tr><td class="lineno" valign="top"></td><td class="left"> by closing the connection.</td><td> </td><td class="right"> by closing the connection.</td><td class="lineno" valign="top"></td></tr> 465 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 466 <tr><td class="lineno" valign="top"></td><td class="left"> For example,</td><td> </td><td class="right"> For example,</td><td class="lineno" valign="top"></td></tr> 467 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 468 <tr><td class="lineno" valign="top"></td><td class="left"> Transfer-Encoding: gzip, chunked</td><td> </td><td class="right"> Transfer-Encoding: gzip, chunked</td><td class="lineno" valign="top"></td></tr> 469 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 470 <tr><td class="lineno" valign="top"></td><td class="left"> indicates that the payload body has been compressed using the gzip</td><td> </td><td class="right"> indicates that the payload body has been compressed using the gzip</td><td class="lineno" valign="top"></td></tr> 471 <tr><td class="lineno" valign="top"></td><td class="left"> coding and then chunked using the chunked coding while forming the</td><td> </td><td class="right"> coding and then chunked using the chunked coding while forming the</td><td class="lineno" valign="top"></td></tr> 472 <tr><td class="lineno" valign="top"></td><td class="left"> message body.</td><td> </td><td class="right"> message body.</td><td class="lineno" valign="top"></td></tr> 473 <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 <tr><td><a name="diff0013" /></td></tr> 475 <tr><td class="lineno" valign="top"></td><td class="lblock"> Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), <span class="delete">Transfer-</span></td><td> </td><td class="rblock"> Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]),</td><td class="lineno" valign="top"></td></tr> 476 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Encoding</span> is a property of the message, not of the representation, and</td><td> </td><td class="rblock"> <span class="insert">Transfer-Encoding</span> is a property of the message, not of the</td><td class="lineno" valign="top"></td></tr> 477 <tr><td class="lineno" valign="top"></td><td class="lblock"> any recipient along the request/response chain MAY decode the</td><td> </td><td class="rblock"> representation, and any recipient along the request/response chain</td><td class="lineno" valign="top"></td></tr> 478 <tr><td class="lineno" valign="top"></td><td class="lblock"> received transfer coding(s) or apply additional transfer coding(s) to</td><td> </td><td class="rblock"> MAY decode the received transfer coding(s) or apply additional</td><td class="lineno" valign="top"></td></tr> 479 <tr><td class="lineno" valign="top"></td><td class="lblock"> the message body, assuming that corresponding changes are made to the</td><td> </td><td class="rblock"> transfer coding(s) to the message body, assuming that corresponding</td><td class="lineno" valign="top"></td></tr> 480 <tr><td class="lineno" valign="top"></td><td class="lblock"> Transfer-Encoding field-value. Additional information about the</td><td> </td><td class="rblock"> changes are made to the Transfer-Encoding field-value. Additional</td><td class="lineno" valign="top"></td></tr> 481 <tr><td class="lineno" valign="top"></td><td class="lblock"> encoding parameters can be provided by other header fields not</td><td> </td><td class="rblock"> information about the encoding parameters can be provided by other</td><td class="lineno" valign="top"></td></tr> 482 <tr><td class="lineno" valign="top"></td><td class="lblock"> defined by this specification.</td><td> </td><td class="rblock"> header fields not defined by this specification.</td><td class="lineno" valign="top"></td></tr> 483 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 484 <tr><td class="lineno" valign="top"></td><td class="left"> Transfer-Encoding MAY be sent in a response to a HEAD request or in a</td><td> </td><td class="right"> Transfer-Encoding MAY be sent in a response to a HEAD request or in a</td><td class="lineno" valign="top"></td></tr> 485 <tr><td class="lineno" valign="top"></td><td class="left"> 304 (Not Modified) response (Section 4.1 of [RFC7232]) to a GET</td><td> </td><td class="right"> 304 (Not Modified) response (Section 4.1 of [RFC7232]) to a GET</td><td class="lineno" valign="top"></td></tr> 486 <tr><td class="lineno" valign="top"></td><td class="left"> request, neither of which includes a message body, to indicate that</td><td> </td><td class="right"> request, neither of which includes a message body, to indicate that</td><td class="lineno" valign="top"></td></tr> 487 <tr><td class="lineno" valign="top"></td><td class="left"> the origin server would have applied a transfer coding to the message</td><td> </td><td class="right"> the origin server would have applied a transfer coding to the message</td><td class="lineno" valign="top"></td></tr> 488 <tr><td class="lineno" valign="top"></td><td class="left"> body if the request had been an unconditional GET. This indication</td><td> </td><td class="right"> body if the request had been an unconditional GET. This indication</td><td class="lineno" valign="top"></td></tr> 489 <tr><td class="lineno" valign="top"></td><td class="left"> is not required, however, because any recipient on the response chain</td><td> </td><td class="right"> is not required, however, because any recipient on the response chain</td><td class="lineno" valign="top"></td></tr> 490 <tr><td class="lineno" valign="top"></td><td class="left"> (including the origin server) can remove transfer codings when they</td><td> </td><td class="right"> (including the origin server) can remove transfer codings when they</td><td class="lineno" valign="top"></td></tr> 491 <tr><td class="lineno" valign="top"></td><td class="left"> are not needed.</td><td> </td><td class="right"> are not needed.</td><td class="lineno" valign="top"></td></tr> 492 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 493 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 494 <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 30, line 40</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 31, line 14</em></th><td></td></tr> 464 495 <tr><td class="lineno" valign="top"></td><td class="left"> unless its field-value equals the decimal number of octets that would</td><td> </td><td class="right"> unless its field-value equals the decimal number of octets that would</td><td class="lineno" valign="top"></td></tr> 465 496 <tr><td class="lineno" valign="top"></td><td class="left"> have been sent in the payload body of a 200 (OK) response to the same</td><td> </td><td class="right"> have been sent in the payload body of a 200 (OK) response to the same</td><td class="lineno" valign="top"></td></tr> … … 472 503 <tr><td class="lineno" valign="top"></td><td class="left"> [RFC7231]).</td><td> </td><td class="right"> [RFC7231]).</td><td class="lineno" valign="top"></td></tr> 473 504 <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 <tr><td><a name="diff001 3" /></td></tr>505 <tr><td><a name="diff0014" /></td></tr> 475 506 <tr><td class="lineno" valign="top"></td><td class="lblock"> Aside from the cases defined above, in the absence of <span class="delete">Transfer-</span></td><td> </td><td class="rblock"> Aside from the cases defined above, in the absence of</td><td class="lineno" valign="top"></td></tr> 476 507 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Encoding,</span> an origin server SHOULD send a Content-Length header field</td><td> </td><td class="rblock"> <span class="insert">Transfer-Encoding,</span> an origin server SHOULD send a Content-Length</td><td class="lineno" valign="top"></td></tr> … … 499 530 <tr><td class="lineno" valign="top"></td><td class="left"> Note: HTTP's use of Content-Length for message framing differs</td><td> </td><td class="right"> Note: HTTP's use of Content-Length for message framing differs</td><td class="lineno" valign="top"></td></tr> 500 531 <tr><td class="lineno" valign="top"></td><td class="left"> significantly from the same field's use in MIME, where it is an</td><td> </td><td class="right"> significantly from the same field's use in MIME, where it is an</td><td class="lineno" valign="top"></td></tr> 501 <tr><td><a name="diff001 4" /></td></tr>532 <tr><td><a name="diff0015" /></td></tr> 502 533 <tr><td class="lineno" valign="top"></td><td class="lblock"> optional field used only within the "message/external-body" <span class="delete">media-</span></td><td> </td><td class="rblock"> optional field used only within the "message/external-body"</td><td class="lineno" valign="top"></td></tr> 503 534 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> type.</span></td><td> </td><td class="rblock"> <span class="insert">media-type.</span></td><td class="lineno" valign="top"></td></tr> … … 513 544 <tr><td class="lineno" valign="top"></td><td class="left"> header fields, regardless of the header fields present in the</td><td> </td><td class="right"> header fields, regardless of the header fields present in the</td><td class="lineno" valign="top"></td></tr> 514 545 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 515 <tr bgcolor="gray" ><td></td><th><a name="part-l1 4" /><small>skipping to change at</small><em> page 32, line 39</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 33, line 23</em></th><td></td></tr>546 <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 32, line 39</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 33, line 23</em></th><td></td></tr> 516 547 <tr><td class="lineno" valign="top"></td><td class="left"> incomplete and close the connection.</td><td> </td><td class="right"> incomplete and close the connection.</td><td class="lineno" valign="top"></td></tr> 517 548 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 524 555 <tr><td class="lineno" valign="top"></td><td class="left"> connection.</td><td> </td><td class="right"> connection.</td><td class="lineno" valign="top"></td></tr> 525 556 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 526 <tr><td><a name="diff001 5" /></td></tr>557 <tr><td><a name="diff0016" /></td></tr> 527 558 <tr><td class="lineno" valign="top"></td><td class="lblock"> Since there is no way to distinguish a successfully completed, <span class="delete">close-</span></td><td> </td><td class="rblock"> Since there is no way to distinguish a successfully completed,</td><td class="lineno" valign="top"></td></tr> 528 559 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> delimited</span> message from a partially received message interrupted by</td><td> </td><td class="rblock"> <span class="insert">close-delimited</span> message from a partially received message interrupted</td><td class="lineno" valign="top"></td></tr> … … 541 572 <tr><td class="lineno" valign="top"></td><td class="left"> status code even though they understand the chunked transfer coding.</td><td> </td><td class="right"> status code even though they understand the chunked transfer coding.</td><td class="lineno" valign="top"></td></tr> 542 573 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 543 <tr bgcolor="gray" ><td></td><th><a name="part-l1 5" /><small>skipping to change at</small><em> page 35, line 18</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr>574 <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 35, line 18</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr> 544 575 <tr><td class="lineno" valign="top"></td><td class="left"> / "gzip" ; Section 4.2.3</td><td> </td><td class="right"> / "gzip" ; Section 4.2.3</td><td class="lineno" valign="top"></td></tr> 545 576 <tr><td class="lineno" valign="top"></td><td class="left"> / transfer-extension</td><td> </td><td class="right"> / transfer-extension</td><td class="lineno" valign="top"></td></tr> … … 552 583 <tr><td class="lineno" valign="top"></td><td class="left"> All transfer-coding names are case-insensitive and ought to be</td><td> </td><td class="right"> All transfer-coding names are case-insensitive and ought to be</td><td class="lineno" valign="top"></td></tr> 553 584 <tr><td class="lineno" valign="top"></td><td class="left"> registered within the HTTP Transfer Coding registry, as defined in</td><td> </td><td class="right"> registered within the HTTP Transfer Coding registry, as defined in</td><td class="lineno" valign="top"></td></tr> 554 <tr><td><a name="diff001 6" /></td></tr>585 <tr><td><a name="diff0017" /></td></tr> 555 586 <tr><td class="lineno" valign="top"></td><td class="lblock"> Section 8.4. They are used in the TE (Section 4.3) and <span class="delete">Transfer-</span></td><td> </td><td class="rblock"> Section 8.4. They are used in the TE (Section 4.3) and</td><td class="lineno" valign="top"></td></tr> 556 587 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Encoding</span> (Section 3.3.1) header fields.</td><td> </td><td class="rblock"> <span class="insert">Transfer-Encoding</span> (Section 3.3.1) header fields.</td><td class="lineno" valign="top"></td></tr> … … 566 597 <tr><td class="lineno" valign="top"></td><td class="left"> received the entire message.</td><td> </td><td class="right"> received the entire message.</td><td class="lineno" valign="top"></td></tr> 567 598 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 568 <tr bgcolor="gray" ><td></td><th><a name="part-l1 6" /><small>skipping to change at</small><em> page 36, line 9</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 36, line 39</em></th><td></td></tr>599 <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 36, line 9</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 36, line 39</em></th><td></td></tr> 569 600 <tr><td class="lineno" valign="top"></td><td class="left"> when a chunk with a chunk-size of zero is received, possibly followed</td><td> </td><td class="right"> when a chunk with a chunk-size of zero is received, possibly followed</td><td class="lineno" valign="top"></td></tr> 570 601 <tr><td class="lineno" valign="top"></td><td class="left"> by a trailer, and finally terminated by an empty line.</td><td> </td><td class="right"> by a trailer, and finally terminated by an empty line.</td><td class="lineno" valign="top"></td></tr> … … 577 608 <tr><td class="lineno" valign="top"></td><td class="left"> The chunked encoding allows each chunk to include zero or more chunk</td><td> </td><td class="right"> The chunked encoding allows each chunk to include zero or more chunk</td><td class="lineno" valign="top"></td></tr> 578 609 <tr><td class="lineno" valign="top"></td><td class="left"> extensions, immediately following the chunk-size, for the sake of</td><td> </td><td class="right"> extensions, immediately following the chunk-size, for the sake of</td><td class="lineno" valign="top"></td></tr> 579 <tr><td><a name="diff001 7" /></td></tr>610 <tr><td><a name="diff0018" /></td></tr> 580 611 <tr><td class="lineno" valign="top"></td><td class="lblock"> supplying per-chunk metadata (such as a signature or hash), <span class="delete">mid-</span></td><td> </td><td class="rblock"> supplying per-chunk metadata (such as a signature or hash),</td><td class="lineno" valign="top"></td></tr> 581 612 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> message</span> control information, or randomization of message body size.</td><td> </td><td class="rblock"> <span class="insert">mid-message</span> control information, or randomization of message body</td><td class="lineno" valign="top"></td></tr> … … 592 623 <tr><td class="lineno" valign="top"></td><td class="left"> the extensions. Hence, use of chunk extensions is generally limited</td><td> </td><td class="right"> the extensions. Hence, use of chunk extensions is generally limited</td><td class="lineno" valign="top"></td></tr> 593 624 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 594 <tr bgcolor="gray" ><td></td><th><a name="part-l1 7" /><small>skipping to change at</small><em> page 40, line 7</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 40, line 41</em></th><td></td></tr>625 <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 40, line 7</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 40, line 41</em></th><td></td></tr> 595 626 <tr><td class="lineno" valign="top"></td><td class="left">5. Message Routing</td><td> </td><td class="right">5. Message Routing</td><td class="lineno" valign="top"></td></tr> 596 627 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 603 634 <tr><td class="lineno" valign="top"></td><td class="left">5.1. Identifying a Target Resource</td><td> </td><td class="right">5.1. Identifying a Target Resource</td><td class="lineno" valign="top"></td></tr> 604 635 <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 <tr><td><a name="diff001 8" /></td></tr>636 <tr><td><a name="diff0019" /></td></tr> 606 637 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP is used in a wide variety of applications, ranging from <span class="delete">general-</span></td><td> </td><td class="rblock"> HTTP is used in a wide variety of applications, ranging from</td><td class="lineno" valign="top"></td></tr> 607 638 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> purpose</span> computers to home appliances. In some cases, communication</td><td> </td><td class="rblock"> <span class="insert">general-purpose</span> computers to home appliances. In some cases,</td><td class="lineno" valign="top"></td></tr> … … 621 652 <tr><td class="lineno" valign="top"></td><td class="left"> ([RFC3986], Section 3.5).</td><td> </td><td class="right"> ([RFC3986], Section 3.5).</td><td class="lineno" valign="top"></td></tr> 622 653 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 623 <tr bgcolor="gray" ><td></td><th><a name="part-l1 8" /><small>skipping to change at</small><em> page 43, line 48</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 44, line 37</em></th><td></td></tr>654 <tr bgcolor="gray" ><td></td><th><a name="part-l19" /><small>skipping to change at</small><em> page 43, line 48</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 44, line 37</em></th><td></td></tr> 624 655 <tr><td class="lineno" valign="top"></td><td class="left"> <http://www.example.org/pub/WWW/> would begin with:</td><td> </td><td class="right"> <http://www.example.org/pub/WWW/> would begin with:</td><td class="lineno" valign="top"></td></tr> 625 656 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 632 663 <tr><td class="lineno" valign="top"></td><td class="left"> that might not have implemented Host.</td><td> </td><td class="right"> that might not have implemented Host.</td><td class="lineno" valign="top"></td></tr> 633 664 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 634 <tr><td><a name="diff00 19" /></td></tr>665 <tr><td><a name="diff0020" /></td></tr> 635 666 <tr><td class="lineno" valign="top"></td><td class="lblock"> When a proxy receives a request with an absolute-form of <span class="delete">request-</span></td><td> </td><td class="rblock"> When a proxy receives a request with an absolute-form of</td><td class="lineno" valign="top"></td></tr> 636 667 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> target,</span> the proxy MUST ignore the received Host header field (if any)</td><td> </td><td class="rblock"> <span class="insert">request-target,</span> the proxy MUST ignore the received Host header field</td><td class="lineno" valign="top"></td></tr> … … 649 680 <tr><td class="lineno" valign="top"></td><td class="left"> host.</td><td> </td><td class="right"> host.</td><td class="lineno" valign="top"></td></tr> 650 681 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 651 <tr bgcolor="gray" ><td></td><th><a name="part-l 19" /><small>skipping to change at</small><em> page 46, line 18</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 47, line 8</em></th><td></td></tr>682 <tr bgcolor="gray" ><td></td><th><a name="part-l20" /><small>skipping to change at</small><em> page 46, line 18</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 47, line 8</em></th><td></td></tr> 652 683 <tr><td class="lineno" valign="top"></td><td class="left"> request message with its corresponding one or more response messages.</td><td> </td><td class="right"> request message with its corresponding one or more response messages.</td><td class="lineno" valign="top"></td></tr> 653 684 <tr><td class="lineno" valign="top"></td><td class="left"> Hence, it relies on the order of response arrival to correspond</td><td> </td><td class="right"> Hence, it relies on the order of response arrival to correspond</td><td class="lineno" valign="top"></td></tr> … … 660 691 <tr><td class="lineno" valign="top"></td><td class="left"> MUST maintain a list of outstanding requests in the order sent and</td><td> </td><td class="right"> MUST maintain a list of outstanding requests in the order sent and</td><td class="lineno" valign="top"></td></tr> 661 692 <tr><td class="lineno" valign="top"></td><td class="left"> MUST associate each received response message on that connection to</td><td> </td><td class="right"> MUST associate each received response message on that connection to</td><td class="lineno" valign="top"></td></tr> 662 <tr><td><a name="diff002 0" /></td></tr>693 <tr><td><a name="diff0021" /></td></tr> 663 694 <tr><td class="lineno" valign="top"></td><td class="lblock"> the highest ordered request that has not yet received a final <span class="delete">(non-</span></td><td> </td><td class="rblock"> the highest ordered request that has not yet received a final</td><td class="lineno" valign="top"></td></tr> 664 695 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> 1xx)</span> response.</td><td> </td><td class="rblock"> <span class="insert">(non-1xx)</span> response.</td><td class="lineno" valign="top"></td></tr> … … 674 705 <tr><td class="lineno" valign="top"></td><td class="left"> intermediary can enhance (or interfere) with either direction of the</td><td> </td><td class="right"> intermediary can enhance (or interfere) with either direction of the</td><td class="lineno" valign="top"></td></tr> 675 706 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 676 <tr bgcolor="gray" ><td></td><th><a name="part-l2 0" /><small>skipping to change at</small><em> page 52, line 50</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 54, line 8</em></th><td></td></tr>707 <tr bgcolor="gray" ><td></td><th><a name="part-l21" /><small>skipping to change at</small><em> page 52, line 50</em></th><th> </th><th><a name="part-r21" /><small>skipping to change at</small><em> page 54, line 8</em></th><td></td></tr> 677 708 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 678 709 <tr><td class="lineno" valign="top"></td><td class="left">6.3.1. Retrying Requests</td><td> </td><td class="right">6.3.1. Retrying Requests</td><td class="lineno" valign="top"></td></tr> … … 685 716 <tr><td class="lineno" valign="top"></td><td class="left"> new connection and automatically retransmit an aborted sequence of</td><td> </td><td class="right"> new connection and automatically retransmit an aborted sequence of</td><td class="lineno" valign="top"></td></tr> 686 717 <tr><td class="lineno" valign="top"></td><td class="left"> requests if all of those requests have idempotent methods (Section</td><td> </td><td class="right"> requests if all of those requests have idempotent methods (Section</td><td class="lineno" valign="top"></td></tr> 687 <tr><td><a name="diff002 1" /></td></tr>718 <tr><td><a name="diff0022" /></td></tr> 688 719 <tr><td class="lineno" valign="top"></td><td class="lblock"> 4.2.2 of [RFC7231]). A proxy MUST NOT automatically retry <span class="delete">non-</span></td><td> </td><td class="rblock"> 4.2.2 of [RFC7231]). A proxy MUST NOT automatically retry</td><td class="lineno" valign="top"></td></tr> 689 720 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> idempotent</span> requests.</td><td> </td><td class="rblock"> <span class="insert">non-idempotent</span> requests.</td><td class="lineno" valign="top"></td></tr> … … 699 730 <tr><td class="lineno" valign="top"></td><td class="left"> from partial failure conditions by checking the target resource</td><td> </td><td class="right"> from partial failure conditions by checking the target resource</td><td class="lineno" valign="top"></td></tr> 700 731 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 701 <tr bgcolor="gray" ><td></td><th><a name="part-l2 1" /><small>skipping to change at</small><em> page 54, line 21</em></th><th> </th><th><a name="part-r21" /><small>skipping to change at</small><em> page 55, line 28</em></th><td></td></tr>732 <tr bgcolor="gray" ><td></td><th><a name="part-l22" /><small>skipping to change at</small><em> page 54, line 21</em></th><th> </th><th><a name="part-r22" /><small>skipping to change at</small><em> page 55, line 28</em></th><td></td></tr> 702 733 <tr><td class="lineno" valign="top"></td><td class="left"> A client ought to limit the number of simultaneous open connections</td><td> </td><td class="right"> A client ought to limit the number of simultaneous open connections</td><td class="lineno" valign="top"></td></tr> 703 734 <tr><td class="lineno" valign="top"></td><td class="left"> that it maintains to a given server.</td><td> </td><td class="right"> that it maintains to a given server.</td><td class="lineno" valign="top"></td></tr> … … 710 741 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 711 742 <tr><td class="lineno" valign="top"></td><td class="left"> Multiple connections are typically used to avoid the "head-of-line</td><td> </td><td class="right"> Multiple connections are typically used to avoid the "head-of-line</td><td class="lineno" valign="top"></td></tr> 712 <tr><td><a name="diff002 2" /></td></tr>743 <tr><td><a name="diff0023" /></td></tr> 713 744 <tr><td class="lineno" valign="top"></td><td class="lblock"> blocking" problem, wherein a request that takes significant <span class="delete">server-</span></td><td> </td><td class="rblock"> blocking" problem, wherein a request that takes significant</td><td class="lineno" valign="top"></td></tr> 714 745 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> side</span> processing and/or has a large payload blocks subsequent requests</td><td> </td><td class="rblock"> <span class="insert">server-side</span> processing and/or has a large payload blocks subsequent</td><td class="lineno" valign="top"></td></tr> … … 726 757 <tr><td class="lineno" valign="top"></td><td class="left"> no longer maintain an inactive connection. Proxy servers might make</td><td> </td><td class="right"> no longer maintain an inactive connection. Proxy servers might make</td><td class="lineno" valign="top"></td></tr> 727 758 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 728 <tr bgcolor="gray" ><td></td><th><a name="part-l2 2" /><small>skipping to change at</small><em> page 58, line 32</em></th><th> </th><th><a name="part-r22" /><small>skipping to change at</small><em> page 59, line 48</em></th><td></td></tr>759 <tr bgcolor="gray" ><td></td><th><a name="part-l23" /><small>skipping to change at</small><em> page 58, line 32</em></th><th> </th><th><a name="part-r23" /><small>skipping to change at</small><em> page 59, line 48</em></th><td></td></tr> 729 760 <tr><td class="lineno" valign="top"></td><td class="left"> the family of Hypertext Transfer Protocols, as defined by the HTTP</td><td> </td><td class="right"> the family of Hypertext Transfer Protocols, as defined by the HTTP</td><td class="lineno" valign="top"></td></tr> 730 761 <tr><td class="lineno" valign="top"></td><td class="left"> version rules of Section 2.6 and future updates to this</td><td> </td><td class="right"> version rules of Section 2.6 and future updates to this</td><td class="lineno" valign="top"></td></tr> … … 737 768 <tr><td class="lineno" valign="top"></td><td class="left"> readability in the definitions of some header field values.</td><td> </td><td class="right"> readability in the definitions of some header field values.</td><td class="lineno" valign="top"></td></tr> 738 769 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 739 <tr><td><a name="diff002 3" /></td></tr>770 <tr><td><a name="diff0024" /></td></tr> 740 771 <tr><td class="lineno" valign="top"></td><td class="lblock"> A construct "#" is defined, similar to "*", for defining <span class="delete">comma-</span></td><td> </td><td class="rblock"> A construct "#" is defined, similar to "*", for defining</td><td class="lineno" valign="top"></td></tr> 741 772 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> delimited</span> lists of elements. The full form is "<n>#<m>element"</td><td> </td><td class="rblock"> <span class="insert">comma-delimited</span> lists of elements. The full form is "<n>#<m>element"</td><td class="lineno" valign="top"></td></tr> … … 751 782 <tr><td class="lineno" valign="top"></td><td class="left"> and:</td><td> </td><td class="right"> and:</td><td class="lineno" valign="top"></td></tr> 752 783 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 753 <tr bgcolor="gray" ><td></td><th><a name="part-l2 3" /><small>skipping to change at</small><em> page 66, line 18</em></th><th> </th><th><a name="part-r23" /><small>skipping to change at</small><em> page 67, line 45</em></th><td></td></tr>784 <tr bgcolor="gray" ><td></td><th><a name="part-l24" /><small>skipping to change at</small><em> page 66, line 18</em></th><th> </th><th><a name="part-r24" /><small>skipping to change at</small><em> page 67, line 45</em></th><td></td></tr> 754 785 <tr><td class="lineno" valign="top"></td><td class="left"> and users of known security considerations relevant to HTTP message</td><td> </td><td class="right"> and users of known security considerations relevant to HTTP message</td><td class="lineno" valign="top"></td></tr> 755 786 <tr><td class="lineno" valign="top"></td><td class="left"> syntax, parsing, and routing. Security considerations about HTTP</td><td> </td><td class="right"> syntax, parsing, and routing. Security considerations about HTTP</td><td class="lineno" valign="top"></td></tr> … … 762 793 <tr><td class="lineno" valign="top"></td><td class="left"> identified within the target URI to be the most appropriate response</td><td> </td><td class="right"> identified within the target URI to be the most appropriate response</td><td class="lineno" valign="top"></td></tr> 763 794 <tr><td class="lineno" valign="top"></td><td class="left"> for that request given the state of the target resource at the time</td><td> </td><td class="right"> for that request given the state of the target resource at the time</td><td class="lineno" valign="top"></td></tr> 764 <tr><td><a name="diff002 4" /></td></tr>795 <tr><td><a name="diff0025" /></td></tr> 765 796 <tr><td class="lineno" valign="top"></td><td class="lblock"> of response message origination. Providing a response from a <span class="delete">non-</span></td><td> </td><td class="rblock"> of response message origination. Providing a response from a</td><td class="lineno" valign="top"></td></tr> 766 797 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> authoritative</span> source, such as a shared cache, is often useful to</td><td> </td><td class="rblock"> <span class="insert">non-authoritative</span> source, such as a shared cache, is often useful to</td><td class="lineno" valign="top"></td></tr> … … 776 807 <tr><td class="lineno" valign="top"></td><td class="left"> prior to making an action, by prominently distinguishing (or</td><td> </td><td class="right"> prior to making an action, by prominently distinguishing (or</td><td class="lineno" valign="top"></td></tr> 777 808 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 778 <tr bgcolor="gray" ><td></td><th><a name="part-l2 4" /><small>skipping to change at</small><em> page 69, line 22</em></th><th> </th><th><a name="part-r24" /><small>skipping to change at</small><em> page 70, line 48</em></th><td></td></tr>809 <tr bgcolor="gray" ><td></td><th><a name="part-l25" /><small>skipping to change at</small><em> page 69, line 22</em></th><th> </th><th><a name="part-r25" /><small>skipping to change at</small><em> page 70, line 48</em></th><td></td></tr> 779 810 <tr><td class="lineno" valign="top"></td><td class="left"> usage.</td><td> </td><td class="right"> usage.</td><td class="lineno" valign="top"></td></tr> 780 811 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 787 818 <tr><td class="lineno" valign="top"></td><td class="left"> HTTP does not define a specific mechanism for ensuring message</td><td> </td><td class="right"> HTTP does not define a specific mechanism for ensuring message</td><td class="lineno" valign="top"></td></tr> 788 819 <tr><td class="lineno" valign="top"></td><td class="left"> integrity, instead relying on the error-detection ability of</td><td> </td><td class="right"> integrity, instead relying on the error-detection ability of</td><td class="lineno" valign="top"></td></tr> 789 <tr><td><a name="diff002 5" /></td></tr>820 <tr><td><a name="diff0026" /></td></tr> 790 821 <tr><td class="lineno" valign="top"></td><td class="lblock"> underlying transport protocols and the use of length or <span class="delete">chunk-</span></td><td> </td><td class="rblock"> underlying transport protocols and the use of length or</td><td class="lineno" valign="top"></td></tr> 791 822 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> delimited</span> framing to detect completeness. Additional integrity</td><td> </td><td class="rblock"> <span class="insert">chunk-delimited</span> framing to detect completeness. Additional integrity</td><td class="lineno" valign="top"></td></tr> … … 801 832 <tr><td class="lineno" valign="top"></td><td class="left"> detecting and reporting failures of message integrity such that those</td><td> </td><td class="right"> detecting and reporting failures of message integrity such that those</td><td class="lineno" valign="top"></td></tr> 802 833 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 803 <tr bgcolor="gray" ><td></td><th><a name="part-l2 5" /><small>skipping to change at</small><em> page 70, line 27</em></th><th> </th><th><a name="part-r25" /><small>skipping to change at</small><em> page 72, line 7</em></th><td></td></tr>834 <tr bgcolor="gray" ><td></td><th><a name="part-l26" /><small>skipping to change at</small><em> page 70, line 27</em></th><th> </th><th><a name="part-r26" /><small>skipping to change at</small><em> page 72, line 7</em></th><td></td></tr> 804 835 <tr><td class="lineno" valign="top"></td><td class="left"> constrained by laws and regulations. Log information needs to be</td><td> </td><td class="right"> constrained by laws and regulations. Log information needs to be</td><td class="lineno" valign="top"></td></tr> 805 836 <tr><td class="lineno" valign="top"></td><td class="left"> securely stored and appropriate guidelines followed for its analysis.</td><td> </td><td class="right"> securely stored and appropriate guidelines followed for its analysis.</td><td class="lineno" valign="top"></td></tr> … … 812 843 <tr><td class="lineno" valign="top"></td><td class="left"> To minimize the risk of theft or accidental publication, log</td><td> </td><td class="right"> To minimize the risk of theft or accidental publication, log</td><td class="lineno" valign="top"></td></tr> 813 844 <tr><td class="lineno" valign="top"></td><td class="left"> information ought to be purged of personally identifiable</td><td> </td><td class="right"> information ought to be purged of personally identifiable</td><td class="lineno" valign="top"></td></tr> 814 <tr><td><a name="diff002 6" /></td></tr>845 <tr><td><a name="diff0027" /></td></tr> 815 846 <tr><td class="lineno" valign="top"></td><td class="lblock"> information, including user identifiers, IP addresses, and <span class="delete">user-</span></td><td> </td><td class="rblock"> information, including user identifiers, IP addresses, and</td><td class="lineno" valign="top"></td></tr> 816 847 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> provided</span> query parameters, as soon as that information is no longer</td><td> </td><td class="rblock"> <span class="insert">user-provided</span> query parameters, as soon as that information is no</td><td class="lineno" valign="top"></td></tr> … … 828 859 <tr><td class="lineno" valign="top"></td><td class="left"> Group Chair.</td><td> </td><td class="right"> Group Chair.</td><td class="lineno" valign="top"></td></tr> 829 860 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 830 <tr bgcolor="gray" ><td></td><th><a name="part-l26" /><small>skipping to change at</small><em> page 82, line 20</em></th><th> </th><th><a name="part-r26" /><small>skipping to change at</small><em> page 85, line 8</em></th><td></td></tr> 861 <tr bgcolor="gray" ><td></td><th><a name="part-l27" /><small>skipping to change at</small><em> page 77, line 24</em></th><th> </th><th><a name="part-r27" /><small>skipping to change at</small><em> page 79, line 41</em></th><td></td></tr> 862 <tr><td class="lineno" valign="top"></td><td class="left"> hung connection.</td><td> </td><td class="right"> hung connection.</td><td class="lineno" valign="top"></td></tr> 863 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 864 <tr><td class="lineno" valign="top"></td><td class="left"> One attempted solution was the introduction of a Proxy-Connection</td><td> </td><td class="right"> One attempted solution was the introduction of a Proxy-Connection</td><td class="lineno" valign="top"></td></tr> 865 <tr><td class="lineno" valign="top"></td><td class="left"> header field, targeted specifically at proxies. In practice, this</td><td> </td><td class="right"> header field, targeted specifically at proxies. In practice, this</td><td class="lineno" valign="top"></td></tr> 866 <tr><td class="lineno" valign="top"></td><td class="left"> was also unworkable, because proxies are often deployed in multiple</td><td> </td><td class="right"> was also unworkable, because proxies are often deployed in multiple</td><td class="lineno" valign="top"></td></tr> 867 <tr><td class="lineno" valign="top"></td><td class="left"> layers, bringing about the same problem discussed above.</td><td> </td><td class="right"> layers, bringing about the same problem discussed above.</td><td class="lineno" valign="top"></td></tr> 868 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 869 <tr><td class="lineno" valign="top"></td><td class="left"> As a result, clients are encouraged not to send the Proxy-Connection</td><td> </td><td class="right"> As a result, clients are encouraged not to send the Proxy-Connection</td><td class="lineno" valign="top"></td></tr> 870 <tr><td class="lineno" valign="top"></td><td class="left"> header field in any requests.</td><td> </td><td class="right"> header field in any requests.</td><td class="lineno" valign="top"></td></tr> 871 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 872 <tr><td><a name="diff0028" /></td></tr> 873 <tr><td class="lineno" valign="top"></td><td class="lblock"> Clients are also encouraged to consider the use of Connection: <span class="delete">keep-</span></td><td> </td><td class="rblock"> Clients are also encouraged to consider the use of Connection:</td><td class="lineno" valign="top"></td></tr> 874 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> alive</span> in requests carefully; while they can enable persistent</td><td> </td><td class="rblock"> <span class="insert">keep-alive</span> in requests carefully; while they can enable persistent</td><td class="lineno" valign="top"></td></tr> 875 <tr><td class="lineno" valign="top"></td><td class="left"> connections with HTTP/1.0 servers, clients using them will need to</td><td> </td><td class="right"> connections with HTTP/1.0 servers, clients using them will need to</td><td class="lineno" valign="top"></td></tr> 876 <tr><td class="lineno" valign="top"></td><td class="left"> monitor the connection for "hung" requests (which indicate that the</td><td> </td><td class="right"> monitor the connection for "hung" requests (which indicate that the</td><td class="lineno" valign="top"></td></tr> 877 <tr><td class="lineno" valign="top"></td><td class="left"> client ought stop sending the header field), and this mechanism ought</td><td> </td><td class="right"> client ought stop sending the header field), and this mechanism ought</td><td class="lineno" valign="top"></td></tr> 878 <tr><td class="lineno" valign="top"></td><td class="left"> not be used by clients at all when a proxy is being used.</td><td> </td><td class="right"> not be used by clients at all when a proxy is being used.</td><td class="lineno" valign="top"></td></tr> 879 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 880 <tr><td class="lineno" valign="top"></td><td class="left">A.1.3. Introduction of Transfer-Encoding</td><td> </td><td class="right">A.1.3. Introduction of Transfer-Encoding</td><td class="lineno" valign="top"></td></tr> 881 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 882 <tr><td class="lineno" valign="top"></td><td class="left"> HTTP/1.1 introduces the Transfer-Encoding header field</td><td> </td><td class="right"> HTTP/1.1 introduces the Transfer-Encoding header field</td><td class="lineno" valign="top"></td></tr> 883 <tr><td class="lineno" valign="top"></td><td class="left"> (Section 3.3.1). Transfer codings need to be decoded prior to</td><td> </td><td class="right"> (Section 3.3.1). Transfer codings need to be decoded prior to</td><td class="lineno" valign="top"></td></tr> 884 <tr><td class="lineno" valign="top"></td><td class="left"> forwarding an HTTP message over a MIME-compliant protocol.</td><td> </td><td class="right"> forwarding an HTTP message over a MIME-compliant protocol.</td><td class="lineno" valign="top"></td></tr> 885 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 886 <tr bgcolor="gray" ><td></td><th><a name="part-l28" /><small>skipping to change at</small><em> page 79, line 4</em></th><th> </th><th><a name="part-r28" /><small>skipping to change at</small><em> page 81, line 18</em></th><td></td></tr> 887 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 888 <tr><td class="lineno" valign="top"></td><td class="left"> The "identity" transfer coding token has been removed. (Sections 3.3</td><td> </td><td class="right"> The "identity" transfer coding token has been removed. (Sections 3.3</td><td class="lineno" valign="top"></td></tr> 889 <tr><td class="lineno" valign="top"></td><td class="left"> and 4)</td><td> </td><td class="right"> and 4)</td><td class="lineno" valign="top"></td></tr> 890 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 891 <tr><td class="lineno" valign="top"></td><td class="left"> Chunk length does not include the count of the octets in the chunk</td><td> </td><td class="right"> Chunk length does not include the count of the octets in the chunk</td><td class="lineno" valign="top"></td></tr> 892 <tr><td class="lineno" valign="top"></td><td class="left"> header and trailer. Line folding in chunk extensions is disallowed.</td><td> </td><td class="right"> header and trailer. Line folding in chunk extensions is disallowed.</td><td class="lineno" valign="top"></td></tr> 893 <tr><td class="lineno" valign="top"></td><td class="left"> (Section 4.1)</td><td> </td><td class="right"> (Section 4.1)</td><td class="lineno" valign="top"></td></tr> 894 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 895 <tr><td class="lineno" valign="top"></td><td class="left"> The meaning of the "deflate" content coding has been clarified.</td><td> </td><td class="right"> The meaning of the "deflate" content coding has been clarified.</td><td class="lineno" valign="top"></td></tr> 896 <tr><td class="lineno" valign="top"></td><td class="left"> (Section 4.2.2)</td><td> </td><td class="right"> (Section 4.2.2)</td><td class="lineno" valign="top"></td></tr> 897 <tr><td><a name="diff0029" /></td></tr> 898 <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> 899 <tr><td class="lineno" valign="top"></td><td class="left"> The segment + query components of RFC 3986 have been used to define</td><td> </td><td class="right"> The segment + query components of RFC 3986 have been used to define</td><td class="lineno" valign="top"></td></tr> 900 <tr><td><a name="diff0030" /></td></tr> 901 <tr><td class="lineno" valign="top"></td><td class="lblock"> the request-target, instead of abs_path from RFC 1808. The <span class="delete">asterisk-</span></td><td> </td><td class="rblock"> the request-target, instead of abs_path from RFC 1808. The</td><td class="lineno" valign="top"></td></tr> 902 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> form</span> of the request-target is only allowed with the OPTIONS method.</td><td> </td><td class="rblock"> <span class="insert">asterisk-form</span> of the request-target is only allowed with the OPTIONS</td><td class="lineno" valign="top"></td></tr> 903 <tr><td class="lineno" valign="top"></td><td class="lblock"> (Section 5.3)</td><td> </td><td class="rblock"> method. (Section 5.3)</td><td class="lineno" valign="top"></td></tr> 904 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 905 <tr><td class="lineno" valign="top"></td><td class="left"> The term "Effective Request URI" has been introduced. (Section 5.5)</td><td> </td><td class="right"> The term "Effective Request URI" has been introduced. (Section 5.5)</td><td class="lineno" valign="top"></td></tr> 906 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 907 <tr><td class="lineno" valign="top"></td><td class="left"> Gateways do not need to generate Via header fields anymore.</td><td> </td><td class="right"> Gateways do not need to generate Via header fields anymore.</td><td class="lineno" valign="top"></td></tr> 908 <tr><td class="lineno" valign="top"></td><td class="left"> (Section 5.7.1)</td><td> </td><td class="right"> (Section 5.7.1)</td><td class="lineno" valign="top"></td></tr> 909 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 910 <tr><td class="lineno" valign="top"></td><td class="left"> Exactly when "close" connection options have to be sent has been</td><td> </td><td class="right"> Exactly when "close" connection options have to be sent has been</td><td class="lineno" valign="top"></td></tr> 911 <tr><td class="lineno" valign="top"></td><td class="left"> clarified. Also, "hop-by-hop" header fields are required to appear</td><td> </td><td class="right"> clarified. Also, "hop-by-hop" header fields are required to appear</td><td class="lineno" valign="top"></td></tr> 912 <tr><td class="lineno" valign="top"></td><td class="left"> in the Connection header field; just because they're defined as hop-</td><td> </td><td class="right"> in the Connection header field; just because they're defined as hop-</td><td class="lineno" valign="top"></td></tr> 913 <tr><td class="lineno" valign="top"></td><td class="left"> by-hop in this specification doesn't exempt them. (Section 6.1)</td><td> </td><td class="right"> by-hop in this specification doesn't exempt them. (Section 6.1)</td><td class="lineno" valign="top"></td></tr> 914 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 915 <tr bgcolor="gray" ><td></td><th><a name="part-l29" /><small>skipping to change at</small><em> page 82, line 20</em></th><th> </th><th><a name="part-r29" /><small>skipping to change at</small><em> page 85, line 8</em></th><td></td></tr> 831 916 <tr><td class="lineno" valign="top"></td><td class="left"> transfer-coding = "chunked" / "compress" / "deflate" / "gzip" /</td><td> </td><td class="right"> transfer-coding = "chunked" / "compress" / "deflate" / "gzip" /</td><td class="lineno" valign="top"></td></tr> 832 917 <tr><td class="lineno" valign="top"></td><td class="left"> transfer-extension</td><td> </td><td class="right"> transfer-extension</td><td class="lineno" valign="top"></td></tr> … … 839 924 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 840 925 <tr><td class="lineno" valign="top"></td><td class="left"> A</td><td> </td><td class="right"> A</td><td class="lineno" valign="top"></td></tr> 841 <tr><td><a name="diff00 27" /></td></tr>926 <tr><td><a name="diff0031" /></td></tr> 842 927 <tr><td class="lineno" valign="top"></td><td class="lblock"> absolute-form (of request-target) 4<span class="delete">1</span></td><td> </td><td class="rblock"> absolute-form (of request-target) 4<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> 843 928 <tr><td class="lineno" valign="top"></td><td class="left"> accelerator 10</td><td> </td><td class="right"> accelerator 10</td><td class="lineno" valign="top"></td></tr> 844 <tr><td><a name="diff00 28" /></td></tr>929 <tr><td><a name="diff0032" /></td></tr> 845 930 <tr><td class="lineno" valign="top"></td><td class="lblock"> application/http Media Type <span class="delete">62</span></td><td> </td><td class="rblock"> application/http Media Type <span class="insert">63</span></td><td class="lineno" valign="top"></td></tr> 846 931 <tr><td class="lineno" valign="top"></td><td class="lblock"> asterisk-form (of request-target) <span class="delete">42</span></td><td> </td><td class="rblock"> asterisk-form (of request-target) <span class="insert">43</span></td><td class="lineno" valign="top"></td></tr> … … 853 938 <tr><td class="lineno" valign="top"></td><td class="left"> C</td><td> </td><td class="right"> C</td><td class="lineno" valign="top"></td></tr> 854 939 <tr><td class="lineno" valign="top"></td><td class="left"> cache 11</td><td> </td><td class="right"> cache 11</td><td class="lineno" valign="top"></td></tr> 855 <tr><td><a name="diff00 29" /></td></tr>940 <tr><td><a name="diff0033" /></td></tr> 856 941 <tr><td class="lineno" valign="top"></td><td class="lblock"> cacheable 1<span class="delete">1</span></td><td> </td><td class="rblock"> cacheable 1<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> 857 942 <tr><td class="lineno" valign="top"></td><td class="left"> captive portal 11</td><td> </td><td class="right"> captive portal 11</td><td class="lineno" valign="top"></td></tr> 858 <tr><td><a name="diff003 0" /></td></tr>943 <tr><td><a name="diff0034" /></td></tr> 859 944 <tr><td class="lineno" valign="top"></td><td class="lblock"> chunked (Coding Format) 28, 3<span class="delete">1, 35</span></td><td> </td><td class="rblock"> chunked (Coding Format) 28, 3<span class="insert">2, 36</span></td><td class="lineno" valign="top"></td></tr> 860 945 <tr><td class="lineno" valign="top"></td><td class="left"> client 7</td><td> </td><td class="right"> client 7</td><td class="lineno" valign="top"></td></tr> 861 <tr><td><a name="diff003 1" /></td></tr>946 <tr><td><a name="diff0035" /></td></tr> 862 947 <tr><td class="lineno" valign="top"></td><td class="lblock"> close 5<span class="delete">0, 55</span></td><td> </td><td class="rblock"> close 5<span class="insert">1, 56</span></td><td class="lineno" valign="top"></td></tr> 863 948 <tr><td class="lineno" valign="top"></td><td class="left"> compress (Coding Format) 38</td><td> </td><td class="right"> compress (Coding Format) 38</td><td class="lineno" valign="top"></td></tr> 864 949 <tr><td class="lineno" valign="top"></td><td class="left"> connection 7</td><td> </td><td class="right"> connection 7</td><td class="lineno" valign="top"></td></tr> 865 <tr><td><a name="diff003 2" /></td></tr>950 <tr><td><a name="diff0036" /></td></tr> 866 951 <tr><td class="lineno" valign="top"></td><td class="lblock"> Connection header field <span class="delete">50, 55</span></td><td> </td><td class="rblock"> Connection header field <span class="insert">51, 56</span></td><td class="lineno" valign="top"></td></tr> 867 952 <tr><td class="lineno" valign="top"></td><td class="lblock"> Content-Length header field <span class="delete">29</span></td><td> </td><td class="rblock"> Content-Length header field <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr> … … 869 954 <tr><td class="lineno" valign="top"></td><td class="left"> D</td><td> </td><td class="right"> D</td><td class="lineno" valign="top"></td></tr> 870 955 <tr><td class="lineno" valign="top"></td><td class="left"> deflate (Coding Format) 38</td><td> </td><td class="right"> deflate (Coding Format) 38</td><td class="lineno" valign="top"></td></tr> 871 <tr><td><a name="diff003 3" /></td></tr>956 <tr><td><a name="diff0037" /></td></tr> 872 957 <tr><td class="lineno" valign="top"></td><td class="lblock"> Delimiters <span class="delete">26</span></td><td> </td><td class="rblock"> Delimiters <span class="insert">27</span></td><td class="lineno" valign="top"></td></tr> 873 958 <tr><td class="lineno" valign="top"></td><td class="lblock"> downstream <span class="delete">9</span></td><td> </td><td class="rblock"> downstream <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr> 874 959 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 875 960 <tr><td class="lineno" valign="top"></td><td class="left"> E</td><td> </td><td class="right"> E</td><td class="lineno" valign="top"></td></tr> 876 <tr><td><a name="diff003 4" /></td></tr>961 <tr><td><a name="diff0038" /></td></tr> 877 962 <tr><td class="lineno" valign="top"></td><td class="lblock"> effective request URI 4<span class="delete">4</span></td><td> </td><td class="rblock"> effective request URI 4<span class="insert">5</span></td><td class="lineno" valign="top"></td></tr> 878 963 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 880 965 <tr><td class="lineno" valign="top"></td><td class="left"> gateway 10</td><td> </td><td class="right"> gateway 10</td><td class="lineno" valign="top"></td></tr> 881 966 <tr><td class="lineno" valign="top"></td><td class="left"> Grammar</td><td> </td><td class="right"> Grammar</td><td class="lineno" valign="top"></td></tr> 882 <tr><td><a name="diff003 5" /></td></tr>967 <tr><td><a name="diff0039" /></td></tr> 883 968 <tr><td class="lineno" valign="top"></td><td class="lblock"> absolute-form 4<span class="delete">1</span></td><td> </td><td class="rblock"> absolute-form 4<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> 884 969 <tr><td class="lineno" valign="top"></td><td class="left"> absolute-path 16</td><td> </td><td class="right"> absolute-path 16</td><td class="lineno" valign="top"></td></tr> 885 970 <tr><td class="lineno" valign="top"></td><td class="left"> absolute-URI 16</td><td> </td><td class="right"> absolute-URI 16</td><td class="lineno" valign="top"></td></tr> 886 971 <tr><td class="lineno" valign="top"></td><td class="left"> ALPHA 6</td><td> </td><td class="right"> ALPHA 6</td><td class="lineno" valign="top"></td></tr> 887 <tr><td><a name="diff00 36" /></td></tr>972 <tr><td><a name="diff0040" /></td></tr> 888 973 <tr><td class="lineno" valign="top"></td><td class="lblock"> asterisk-form 41<span class="delete">-42</span></td><td> </td><td class="rblock"> asterisk-form 41<span class="insert">, 43</span></td><td class="lineno" valign="top"></td></tr> 889 974 <tr><td class="lineno" valign="top"></td><td class="left"> authority 16</td><td> </td><td class="right"> authority 16</td><td class="lineno" valign="top"></td></tr> 890 <tr><td><a name="diff00 37" /></td></tr>975 <tr><td><a name="diff0041" /></td></tr> 891 976 <tr><td class="lineno" valign="top"></td><td class="lblock"> authority-form <span class="delete">41-42</span></td><td> </td><td class="rblock"> authority-form <span class="insert">42-43</span></td><td class="lineno" valign="top"></td></tr> 892 977 <tr><td class="lineno" valign="top"></td><td class="lblock"> BWS <span class="delete">24</span></td><td> </td><td class="rblock"> BWS <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr> … … 896 981 <tr><td class="lineno" valign="top"></td><td class="left"> chunk-ext-name 36</td><td> </td><td class="right"> chunk-ext-name 36</td><td class="lineno" valign="top"></td></tr> 897 982 <tr><td class="lineno" valign="top"></td><td class="left"> chunk-ext-val 36</td><td> </td><td class="right"> chunk-ext-val 36</td><td class="lineno" valign="top"></td></tr> 898 <tr><td><a name="diff00 38" /></td></tr>983 <tr><td><a name="diff0042" /></td></tr> 899 984 <tr><td class="lineno" valign="top"></td><td class="lblock"> chunk-size <span class="delete">35</span></td><td> </td><td class="rblock"> chunk-size <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr> 900 985 <tr><td class="lineno" valign="top"></td><td class="lblock"> chunked-body <span class="delete">35-36</span></td><td> </td><td class="rblock"> chunked-body <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr> 901 986 <tr><td class="lineno" valign="top"></td><td class="left"> comment 27</td><td> </td><td class="right"> comment 27</td><td class="lineno" valign="top"></td></tr> 902 <tr><td><a name="diff00 39" /></td></tr>987 <tr><td><a name="diff0043" /></td></tr> 903 988 <tr><td class="lineno" valign="top"></td><td class="lblock"> Connection <span class="delete">50</span></td><td> </td><td class="rblock"> Connection <span class="insert">51</span></td><td class="lineno" valign="top"></td></tr> 904 989 <tr><td class="lineno" valign="top"></td><td class="lblock"> connection-option <span class="delete">50</span></td><td> </td><td class="rblock"> connection-option <span class="insert">51</span></td><td class="lineno" valign="top"></td></tr> … … 910 995 <tr><td class="lineno" valign="top"></td><td class="left"> DIGIT 6</td><td> </td><td class="right"> DIGIT 6</td><td class="lineno" valign="top"></td></tr> 911 996 <tr><td class="lineno" valign="top"></td><td class="left"> DQUOTE 6</td><td> </td><td class="right"> DQUOTE 6</td><td class="lineno" valign="top"></td></tr> 912 <tr><td><a name="diff004 0" /></td></tr>997 <tr><td><a name="diff0044" /></td></tr> 913 998 <tr><td class="lineno" valign="top"></td><td class="lblock"> field-content <span class="delete">22</span></td><td> </td><td class="rblock"> field-content <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr> 914 999 <tr><td class="lineno" valign="top"></td><td class="lblock"> field-name <span class="delete">22, 39</span></td><td> </td><td class="rblock"> field-name <span class="insert">23, 40</span></td><td class="lineno" valign="top"></td></tr> … … 916 1001 <tr><td class="lineno" valign="top"></td><td class="lblock"> field-vchar <span class="delete">22</span></td><td> </td><td class="rblock"> field-vchar <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr> 917 1002 <tr><td class="lineno" valign="top"></td><td class="left"> fragment 16</td><td> </td><td class="right"> fragment 16</td><td class="lineno" valign="top"></td></tr> 918 <tr><td><a name="diff004 1" /></td></tr>1003 <tr><td><a name="diff0045" /></td></tr> 919 1004 <tr><td class="lineno" valign="top"></td><td class="lblock"> header-field 2<span class="delete">2, 36</span></td><td> </td><td class="rblock"> header-field 2<span class="insert">3, 37</span></td><td class="lineno" valign="top"></td></tr> 920 1005 <tr><td class="lineno" valign="top"></td><td class="left"> HEXDIG 6</td><td> </td><td class="right"> HEXDIG 6</td><td class="lineno" valign="top"></td></tr> 921 <tr><td><a name="diff004 2" /></td></tr>1006 <tr><td><a name="diff0046" /></td></tr> 922 1007 <tr><td class="lineno" valign="top"></td><td class="lblock"> Host 4<span class="delete">3</span></td><td> </td><td class="rblock"> Host 4<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr> 923 1008 <tr><td class="lineno" valign="top"></td><td class="left"> HTAB 6</td><td> </td><td class="right"> HTAB 6</td><td class="lineno" valign="top"></td></tr> 924 1009 <tr><td class="lineno" valign="top"></td><td class="left"> HTTP-message 19</td><td> </td><td class="right"> HTTP-message 19</td><td class="lineno" valign="top"></td></tr> 925 <tr><td><a name="diff004 3" /></td></tr>1010 <tr><td><a name="diff0047" /></td></tr> 926 1011 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP-name <span class="delete">13</span></td><td> </td><td class="rblock"> HTTP-name <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr> 927 1012 <tr><td class="lineno" valign="top"></td><td class="lblock"> http-URI <span class="delete">16</span></td><td> </td><td class="rblock"> http-URI <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> 928 1013 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP-version <span class="delete">13</span></td><td> </td><td class="rblock"> HTTP-version <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr> 929 1014 <tr><td class="lineno" valign="top"></td><td class="left"> https-URI 18</td><td> </td><td class="right"> https-URI 18</td><td class="lineno" valign="top"></td></tr> 930 <tr><td><a name="diff004 4" /></td></tr>1015 <tr><td><a name="diff0048" /></td></tr> 931 1016 <tr><td class="lineno" valign="top"></td><td class="lblock"> last-chunk 3<span class="delete">5</span></td><td> </td><td class="rblock"> last-chunk 3<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr> 932 1017 <tr><td class="lineno" valign="top"></td><td class="left"> LF 6</td><td> </td><td class="right"> LF 6</td><td class="lineno" valign="top"></td></tr> 933 <tr><td><a name="diff004 5" /></td></tr>1018 <tr><td><a name="diff0049" /></td></tr> 934 1019 <tr><td class="lineno" valign="top"></td><td class="lblock"> message-body 2<span class="delete">7</span></td><td> </td><td class="rblock"> message-body 2<span class="insert">8</span></td><td class="lineno" valign="top"></td></tr> 935 1020 <tr><td class="lineno" valign="top"></td><td class="left"> method 21</td><td> </td><td class="right"> method 21</td><td class="lineno" valign="top"></td></tr> 936 <tr><td><a name="diff00 46" /></td></tr>1021 <tr><td><a name="diff0050" /></td></tr> 937 1022 <tr><td class="lineno" valign="top"></td><td class="lblock"> obs-fold 2<span class="delete">2</span></td><td> </td><td class="rblock"> obs-fold 2<span class="insert">3</span></td><td class="lineno" valign="top"></td></tr> 938 1023 <tr><td class="lineno" valign="top"></td><td class="left"> obs-text 27</td><td> </td><td class="right"> obs-text 27</td><td class="lineno" valign="top"></td></tr> 939 1024 <tr><td class="lineno" valign="top"></td><td class="left"> OCTET 6</td><td> </td><td class="right"> OCTET 6</td><td class="lineno" valign="top"></td></tr> 940 <tr><td><a name="diff00 47" /></td></tr>1025 <tr><td><a name="diff0051" /></td></tr> 941 1026 <tr><td class="lineno" valign="top"></td><td class="lblock"> origin-form <span class="delete">41</span></td><td> </td><td class="rblock"> origin-form <span class="insert">42</span></td><td class="lineno" valign="top"></td></tr> 942 1027 <tr><td class="lineno" valign="top"></td><td class="lblock"> OWS <span class="delete">24</span></td><td> </td><td class="rblock"> OWS <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr> … … 950 1035 <tr><td class="lineno" valign="top"></td><td class="left"> quoted-pair 27</td><td> </td><td class="right"> quoted-pair 27</td><td class="lineno" valign="top"></td></tr> 951 1036 <tr><td class="lineno" valign="top"></td><td class="left"> quoted-string 27</td><td> </td><td class="right"> quoted-string 27</td><td class="lineno" valign="top"></td></tr> 952 <tr><td><a name="diff00 48" /></td></tr>1037 <tr><td><a name="diff0052" /></td></tr> 953 1038 <tr><td class="lineno" valign="top"></td><td class="lblock"> rank 3<span class="delete">8</span></td><td> </td><td class="rblock"> rank 3<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr> 954 1039 <tr><td class="lineno" valign="top"></td><td class="left"> reason-phrase 22</td><td> </td><td class="right"> reason-phrase 22</td><td class="lineno" valign="top"></td></tr> … … 957 1042 <tr><td class="lineno" valign="top"></td><td class="left"> request-line 21</td><td> </td><td class="right"> request-line 21</td><td class="lineno" valign="top"></td></tr> 958 1043 <tr><td class="lineno" valign="top"></td><td class="left"> request-target 41</td><td> </td><td class="right"> request-target 41</td><td class="lineno" valign="top"></td></tr> 959 <tr><td><a name="diff00 49" /></td></tr>1044 <tr><td><a name="diff0053" /></td></tr> 960 1045 <tr><td class="lineno" valign="top"></td><td class="lblock"> RWS 2<span class="delete">4</span></td><td> </td><td class="rblock"> RWS 2<span class="insert">5</span></td><td class="lineno" valign="top"></td></tr> 961 1046 <tr><td class="lineno" valign="top"></td><td class="left"> scheme 16</td><td> </td><td class="right"> scheme 16</td><td class="lineno" valign="top"></td></tr> 962 1047 <tr><td class="lineno" valign="top"></td><td class="left"> segment 16</td><td> </td><td class="right"> segment 16</td><td class="lineno" valign="top"></td></tr> 963 1048 <tr><td class="lineno" valign="top"></td><td class="left"> SP 6</td><td> </td><td class="right"> SP 6</td><td class="lineno" valign="top"></td></tr> 964 <tr><td><a name="diff005 0" /></td></tr>1049 <tr><td><a name="diff0054" /></td></tr> 965 1050 <tr><td class="lineno" valign="top"></td><td class="lblock"> start-line 2<span class="delete">0</span></td><td> </td><td class="rblock"> start-line 2<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr> 966 1051 <tr><td class="lineno" valign="top"></td><td class="left"> status-code 22</td><td> </td><td class="right"> status-code 22</td><td class="lineno" valign="top"></td></tr> 967 1052 <tr><td class="lineno" valign="top"></td><td class="left"> status-line 22</td><td> </td><td class="right"> status-line 22</td><td class="lineno" valign="top"></td></tr> 968 <tr><td><a name="diff005 1" /></td></tr>1053 <tr><td><a name="diff0055" /></td></tr> 969 1054 <tr><td class="lineno" valign="top"></td><td class="lblock"> t-codings <span class="delete">38</span></td><td> </td><td class="rblock"> t-codings <span class="insert">39</span></td><td class="lineno" valign="top"></td></tr> 970 1055 <tr><td class="lineno" valign="top"></td><td class="lblock"> t-ranking <span class="delete">38</span></td><td> </td><td class="rblock"> t-ranking <span class="insert">39</span></td><td class="lineno" valign="top"></td></tr> … … 978 1063 <tr><td class="lineno" valign="top"></td><td class="left"> transfer-extension 35</td><td> </td><td class="right"> transfer-extension 35</td><td class="lineno" valign="top"></td></tr> 979 1064 <tr><td class="lineno" valign="top"></td><td class="left"> transfer-parameter 35</td><td> </td><td class="right"> transfer-parameter 35</td><td class="lineno" valign="top"></td></tr> 980 <tr><td><a name="diff005 2" /></td></tr>1065 <tr><td><a name="diff0056" /></td></tr> 981 1066 <tr><td class="lineno" valign="top"></td><td class="lblock"> Upgrade 5<span class="delete">6</span></td><td> </td><td class="rblock"> Upgrade 5<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 982 1067 <tr><td class="lineno" valign="top"></td><td class="left"> uri-host 16</td><td> </td><td class="right"> uri-host 16</td><td class="lineno" valign="top"></td></tr> … … 984 1069 <tr><td class="lineno" valign="top"></td><td class="left"> VCHAR 6</td><td> </td><td class="right"> VCHAR 6</td><td class="lineno" valign="top"></td></tr> 985 1070 <tr><td class="lineno" valign="top"></td><td class="left"> Via 47</td><td> </td><td class="right"> Via 47</td><td class="lineno" valign="top"></td></tr> 986 <tr><td><a name="diff005 3" /></td></tr>1071 <tr><td><a name="diff0057" /></td></tr> 987 1072 <tr><td class="lineno" valign="top"></td><td class="lblock"> gzip (Coding Format) 3<span class="delete">8</span></td><td> </td><td class="rblock"> gzip (Coding Format) 3<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr> 988 1073 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 991 1076 <tr><td class="lineno" valign="top"></td><td class="left"> header section 19</td><td> </td><td class="right"> header section 19</td><td class="lineno" valign="top"></td></tr> 992 1077 <tr><td class="lineno" valign="top"></td><td class="left"> headers 19</td><td> </td><td class="right"> headers 19</td><td class="lineno" valign="top"></td></tr> 993 <tr><td><a name="diff005 4" /></td></tr>1078 <tr><td><a name="diff0058" /></td></tr> 994 1079 <tr><td class="lineno" valign="top"></td><td class="lblock"> Host header field <span class="delete">43</span></td><td> </td><td class="rblock"> Host header field <span class="insert">44</span></td><td class="lineno" valign="top"></td></tr> 995 1080 <tr><td class="lineno" valign="top"></td><td class="lblock"> http URI scheme <span class="delete">16</span></td><td> </td><td class="rblock"> http URI scheme <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> … … 1003 1088 <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> 1004 1089 <tr><td class="lineno" valign="top"></td><td class="left"> Media Type</td><td> </td><td class="right"> Media Type</td><td class="lineno" valign="top"></td></tr> 1005 <tr><td><a name="diff005 5" /></td></tr>1090 <tr><td><a name="diff0059" /></td></tr> 1006 1091 <tr><td class="lineno" valign="top"></td><td class="lblock"> application/http <span class="delete">62</span></td><td> </td><td class="rblock"> application/http <span class="insert">63</span></td><td class="lineno" valign="top"></td></tr> 1007 1092 <tr><td class="lineno" valign="top"></td><td class="lblock"> message/http <span class="delete">61</span></td><td> </td><td class="rblock"> message/http <span class="insert">62</span></td><td class="lineno" valign="top"></td></tr> 1008 1093 <tr><td class="lineno" valign="top"></td><td class="left"> message 7</td><td> </td><td class="right"> message 7</td><td class="lineno" valign="top"></td></tr> 1009 <tr><td><a name="diff00 56" /></td></tr>1094 <tr><td><a name="diff0060" /></td></tr> 1010 1095 <tr><td class="lineno" valign="top"></td><td class="lblock"> message/http Media Type 6<span class="delete">1</span></td><td> </td><td class="rblock"> message/http Media Type 6<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> 1011 1096 <tr><td class="lineno" valign="top"></td><td class="left"> method 21</td><td> </td><td class="right"> method 21</td><td class="lineno" valign="top"></td></tr> 1012 1097 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1013 1098 <tr><td class="lineno" valign="top"></td><td class="left"> N</td><td> </td><td class="right"> N</td><td class="lineno" valign="top"></td></tr> 1014 <tr><td><a name="diff00 57" /></td></tr>1099 <tr><td><a name="diff0061" /></td></tr> 1015 1100 <tr><td class="lineno" valign="top"></td><td class="lblock"> non-transforming proxy 4<span class="delete">8</span></td><td> </td><td class="rblock"> non-transforming proxy 4<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr> 1016 1101 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1017 1102 <tr><td class="lineno" valign="top"></td><td class="left"> O</td><td> </td><td class="right"> O</td><td class="lineno" valign="top"></td></tr> 1018 1103 <tr><td class="lineno" valign="top"></td><td class="left"> origin server 7</td><td> </td><td class="right"> origin server 7</td><td class="lineno" valign="top"></td></tr> 1019 <tr><td><a name="diff00 58" /></td></tr>1104 <tr><td><a name="diff0062" /></td></tr> 1020 1105 <tr><td class="lineno" valign="top"></td><td class="lblock"> origin-form (of request-target) <span class="delete">41</span></td><td> </td><td class="rblock"> origin-form (of request-target) <span class="insert">42</span></td><td class="lineno" valign="top"></td></tr> 1021 1106 <tr><td class="lineno" valign="top"></td><td class="lblock"> outbound <span class="delete">9</span></td><td> </td><td class="rblock"> outbound <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr> 1022 1107 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1023 1108 <tr><td class="lineno" valign="top"></td><td class="left"> P</td><td> </td><td class="right"> P</td><td class="lineno" valign="top"></td></tr> 1024 <tr><td><a name="diff00 59" /></td></tr>1109 <tr><td><a name="diff0063" /></td></tr> 1025 1110 <tr><td class="lineno" valign="top"></td><td class="lblock"> phishing 6<span class="delete">6</span></td><td> </td><td class="rblock"> phishing 6<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 1026 1111 <tr><td class="lineno" valign="top"></td><td class="left"> proxy 10</td><td> </td><td class="right"> proxy 10</td><td class="lineno" valign="top"></td></tr> … … 1042 1127 <tr><td class="lineno" valign="top"></td><td class="left"> target resource 40</td><td> </td><td class="right"> target resource 40</td><td class="lineno" valign="top"></td></tr> 1043 1128 <tr><td class="lineno" valign="top"></td><td class="left"> target URI 40</td><td> </td><td class="right"> target URI 40</td><td class="lineno" valign="top"></td></tr> 1044 <tr><td><a name="diff006 0" /></td></tr>1129 <tr><td><a name="diff0064" /></td></tr> 1045 1130 <tr><td class="lineno" valign="top"></td><td class="lblock"> TE header field <span class="delete">38</span></td><td> </td><td class="rblock"> TE header field <span class="insert">39</span></td><td class="lineno" valign="top"></td></tr> 1046 1131 <tr><td class="lineno" valign="top"></td><td class="lblock"> Trailer header field <span class="delete">39</span></td><td> </td><td class="rblock"> Trailer header field <span class="insert">40</span></td><td class="lineno" valign="top"></td></tr> 1047 1132 <tr><td class="lineno" valign="top"></td><td class="left"> Transfer-Encoding header field 28</td><td> </td><td class="right"> Transfer-Encoding header field 28</td><td class="lineno" valign="top"></td></tr> 1048 <tr><td><a name="diff006 1" /></td></tr>1133 <tr><td><a name="diff0065" /></td></tr> 1049 1134 <tr><td class="lineno" valign="top"></td><td class="lblock"> transforming proxy 4<span class="delete">8</span></td><td> </td><td class="rblock"> transforming proxy 4<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr> 1050 1135 <tr><td class="lineno" valign="top"></td><td class="left"> transparent proxy 11</td><td> </td><td class="right"> transparent proxy 11</td><td class="lineno" valign="top"></td></tr> … … 1052 1137 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1053 1138 <tr><td class="lineno" valign="top"></td><td class="left"> U</td><td> </td><td class="right"> U</td><td class="lineno" valign="top"></td></tr> 1054 <tr><td><a name="diff006 2" /></td></tr>1139 <tr><td><a name="diff0066" /></td></tr> 1055 1140 <tr><td class="lineno" valign="top"></td><td class="lblock"> Upgrade header field 5<span class="delete">6</span></td><td> </td><td class="rblock"> Upgrade header field 5<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 1056 1141 <tr><td class="lineno" valign="top"></td><td class="left"> upstream 9</td><td> </td><td class="right"> upstream 9</td><td class="lineno" valign="top"></td></tr> 1057 1142 <tr><td class="lineno" valign="top"></td><td class="left"> URI scheme</td><td> </td><td class="right"> URI scheme</td><td class="lineno" valign="top"></td></tr> 1058 <tr><td><a name="diff006 3" /></td></tr>1143 <tr><td><a name="diff0067" /></td></tr> 1059 1144 <tr><td class="lineno" valign="top"></td><td class="lblock"> http <span class="delete">16</span></td><td> </td><td class="rblock"> http <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> 1060 1145 <tr><td class="lineno" valign="top"></td><td class="lblock"> https <span class="delete">18</span></td><td> </td><td class="rblock"> https <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> … … 1062 1147 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 1063 1148 <tr><td class="lineno" valign="top"></td><td class="left"> V</td><td> </td><td class="right"> V</td><td class="lineno" valign="top"></td></tr> 1064 <tr><td><a name="diff006 4" /></td></tr>1149 <tr><td><a name="diff0068" /></td></tr> 1065 1150 <tr><td class="lineno" valign="top"></td><td class="lblock"> Via header field 4<span class="delete">6</span></td><td> </td><td class="rblock"> Via header field 4<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 1066 1151 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 1076 1161 1077 1162 <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> 1078 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 6 4change blocks. </a></th></tr>1079 <tr class="stats"><td></td><th><i>2 60 lines changed or deleted</i></th><th><i> </i></th><th><i>248lines changed or added</i></th><td></td></tr>1163 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 68 change blocks. </a></th></tr> 1164 <tr class="stats"><td></td><th><i>273 lines changed or deleted</i></th><th><i> </i></th><th><i>262 lines changed or added</i></th><td></td></tr> 1080 1165 <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr> 1081 1166 </table> -
draft-ietf-httpbis/latest/auth48/rfc7230.txt
r2712 r2718 1621 1621 message body. 1622 1622 1623 Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), Transfer-1624 Encoding is a property of the message, not of the representation, and1625 any recipient along the request/response chain MAY decode the1626 received transfer coding(s) or apply additional transfer coding(s) to1627 t he message body, assuming that corresponding changes are made to the1628 Transfer-Encoding field-value. Additional information about the1629 encoding parameters can be provided by other header fields not1630 defined by this specification.1623 Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), 1624 Transfer-Encoding is a property of the message, not of the 1625 representation, and any recipient along the request/response chain 1626 MAY decode the received transfer coding(s) or apply additional 1627 transfer coding(s) to the message body, assuming that corresponding 1628 changes are made to the Transfer-Encoding field-value. Additional 1629 information about the encoding parameters can be provided by other 1630 header fields not defined by this specification. 1631 1631 1632 1632 Transfer-Encoding MAY be sent in a response to a HEAD request or in a … … 4487 4487 header field in any requests. 4488 4488 4489 Clients are also encouraged to consider the use of Connection: keep-4490 alive in requests carefully; while they can enable persistent4489 Clients are also encouraged to consider the use of Connection: 4490 keep-alive in requests carefully; while they can enable persistent 4491 4491 connections with HTTP/1.0 servers, clients using them will need to 4492 4492 monitor the connection for "hung" requests (which indicate that the … … 4581 4581 4582 4582 The segment + query components of RFC 3986 have been used to define 4583 the request-target, instead of abs_path from RFC 1808. The asterisk-4584 form of the request-target is only allowed with the OPTIONS method.4585 (Section 5.3)4583 the request-target, instead of abs_path from RFC 1808. The 4584 asterisk-form of the request-target is only allowed with the OPTIONS 4585 method. (Section 5.3) 4586 4586 4587 4587 The term "Effective Request URI" has been introduced. (Section 5.5) -
draft-ietf-httpbis/latest/auth48/rfc7232.abdiff.txt
r2710 r2718 38 38 document authors. All rights reserved. 39 39 40 41 INTRODUCTION, paragraph 13: 42 OLD: 43 44 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 45 1.1. Conformance and Error Handling . . . . . . . . . . . . . . 4 46 1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4 47 2. Validators . . . . . . . . . . . . . . . . . . . . . . . . . . 5 48 2.1. Weak versus Strong . . . . . . . . . . . . . . . . . . . . 5 49 2.2. Last-Modified . . . . . . . . . . . . . . . . . . . . . . 7 50 2.2.1. Generation . . . . . . . . . . . . . . . . . . . . . . 7 51 2.2.2. Comparison . . . . . . . . . . . . . . . . . . . . . . 8 52 2.3. ETag . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 53 2.3.1. Generation . . . . . . . . . . . . . . . . . . . . . . 10 54 2.3.2. Comparison . . . . . . . . . . . . . . . . . . . . . . 10 55 2.3.3. Example: Entity-Tags Varying on Content-Negotiated 56 Resources . . . . . . . . . . . . . . . . . . . . . . 11 57 2.4. When to Use Entity-Tags and Last-Modified Dates . . . . . 12 58 3. Precondition Header Fields . . . . . . . . . . . . . . . . . . 13 59 3.1. If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13 60 3.2. If-None-Match . . . . . . . . . . . . . . . . . . . . . . 14 61 3.3. If-Modified-Since . . . . . . . . . . . . . . . . . . . . 15 62 3.4. If-Unmodified-Since . . . . . . . . . . . . . . . . . . . 16 63 3.5. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18 64 4. Status Code Definitions . . . . . . . . . . . . . . . . . . . 18 65 4.1. 304 Not Modified . . . . . . . . . . . . . . . . . . . . . 18 66 4.2. 412 Precondition Failed . . . . . . . . . . . . . . . . . 18 67 5. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19 68 6. Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . 19 69 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 70 7.1. Status Code Registration . . . . . . . . . . . . . . . . . 21 71 7.2. Header Field Registration . . . . . . . . . . . . . . . . 21 72 8. Security Considerations . . . . . . . . . . . . . . . . . . . 22 73 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 74 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 75 10.1. Normative References . . . . . . . . . . . . . . . . . . . 23 76 10.2. Informative References . . . . . . . . . . . . . . . . . . 23 77 Appendix A. Changes from RFC 2616 . . . . . . . . . . . . . . . . 23 78 Appendix B. Imported ABNF . . . . . . . . . . . . . . . . . . . . 24 79 Appendix C. Collected ABNF . . . . . . . . . . . . . . . . . . . 24 80 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 81 82 NEW: 83 84 1. Introduction ....................................................4 85 1.1. Conformance and Error Handling .............................4 86 1.2. Syntax Notation ............................................4 87 2. Validators ......................................................5 88 2.1. Weak versus Strong .........................................5 89 2.2. Last-Modified ..............................................7 90 2.2.1. Generation ..........................................7 91 2.2.2. Comparison ..........................................8 92 2.3. ETag .......................................................9 93 2.3.1. Generation .........................................10 94 2.3.2. Comparison .........................................10 95 2.3.3. Example: Entity-Tags Varying on 96 Content-Negotiated Resources .......................11 97 2.4. When to Use Entity-Tags and Last-Modified Dates ...........12 98 3. Precondition Header Fields .....................................13 99 3.1. If-Match ..................................................13 100 3.2. If-None-Match .............................................14 101 3.3. If-Modified-Since .........................................16 102 3.4. If-Unmodified-Since .......................................17 103 3.5. If-Range ..................................................18 104 4. Status Code Definitions ........................................18 105 4.1. 304 Not Modified ..........................................18 106 4.2. 412 Precondition Failed ...................................19 107 5. Evaluation .....................................................19 108 6. Precedence .....................................................20 109 7. IANA Considerations ............................................22 110 7.1. Status Code Registration ..................................22 111 7.2. Header Field Registration .................................22 112 8. Security Considerations ........................................22 113 9. Acknowledgments ................................................23 114 10. References ....................................................24 115 10.1. Normative References .....................................24 116 10.2. Informative References ...................................24 117 Appendix A. Changes from RFC 2616 .................................25 118 Appendix B. Imported ABNF .........................................25 119 Appendix C. Collected ABNF ........................................26 120 Index .............................................................27 121 122 123 Section 1., paragraph 2: 124 OLD: 125 126 Conditional GET requests are the most efficient mechanism for HTTP 127 cache updates [RFC7234]. Conditionals can also be applied to state- 128 changing methods, such as PUT and DELETE, to prevent the "lost 129 update" problem: one client accidentally overwriting the work of 130 another client that has been acting in parallel. 131 132 NEW: 133 134 Conditional GET requests are the most efficient mechanism for HTTP 135 cache updates [RFC7234]. Conditionals can also be applied to 136 state-changing methods, such as PUT and DELETE, to prevent the "lost 137 update" problem: one client accidentally overwriting the work of 138 another client that has been acting in parallel. 139 140 141 Section 2.2.2., paragraph 5: 142 OLD: 143 144 o The validator is about to be used by a client in an If-Modified- 145 Since, If-Unmodified-Since, or If-Range header field, because the 146 client has a cache entry for the associated representation, and 147 148 NEW: 149 150 o The validator is about to be used by a client in an 151 If-Modified-Since, If-Unmodified-Since, or If-Range header field, 152 because the client has a cache entry for the associated 153 representation, and 154 155 156 Section 2.2.2., paragraph 12: 157 OLD: 158 159 This method relies on the fact that if two different responses were 160 sent by the origin server during the same second, but both had the 161 same Last-Modified time, then at least one of those responses would 162 have a Date value equal to its Last-Modified time. The arbitrary 60- 163 second limit guards against the possibility that the Date and Last- 164 Modified values are generated from different clocks or at somewhat 165 different times during the preparation of the response. An 166 implementation MAY use a value larger than 60 seconds, if it is 167 believed that 60 seconds is too short. 168 169 NEW: 170 171 This method relies on the fact that if two different responses were 172 sent by the origin server during the same second, but both had the 173 same Last-Modified time, then at least one of those responses would 174 have a Date value equal to its Last-Modified time. The arbitrary 175 60-second limit guards against the possibility that the Date and 176 Last-Modified values are generated from different clocks or at 177 somewhat different times during the preparation of the response. An 178 implementation MAY use a value larger than 60 seconds, if it is 179 believed that 60 seconds is too short. 180 181 182 Section 2.3.2., paragraph 3: 183 OLD: 184 185 o Weak comparison: two entity-tags are equivalent if their opaque- 186 tags match character-by-character, regardless of either or both 187 being tagged as "weak". 188 189 NEW: 190 191 o Weak comparison: two entity-tags are equivalent if their 192 opaque-tags match character-by-character, regardless of either or 193 both being tagged as "weak". 194 195 196 Section 2.4., paragraph 8: 197 OLD: 198 199 o SHOULD send the Last-Modified value in non-subrange cache 200 validation requests (using If-Modified-Since) if only a Last- 201 Modified value has been provided by the origin server. 202 203 NEW: 204 205 o SHOULD send the Last-Modified value in non-subrange cache 206 validation requests (using If-Modified-Since) if only a 207 Last-Modified value has been provided by the origin server. 208 209 210 Section 3.3., paragraph 5: 211 OLD: 212 213 A recipient MUST ignore If-Modified-Since if the request contains an 214 If-None-Match header field; the condition in If-None-Match is 215 considered to be a more accurate replacement for the condition in If- 216 Modified-Since, and the two are only combined for the sake of 217 interoperating with older intermediaries that might not implement If- 218 None-Match. 219 220 NEW: 221 222 A recipient MUST ignore If-Modified-Since if the request contains an 223 If-None-Match header field; the condition in If-None-Match is 224 considered to be a more accurate replacement for the condition in 225 If-Modified-Since, and the two are only combined for the sake of 226 interoperating with older intermediaries that might not implement 227 If-None-Match. 228 229 230 Section 3.3., paragraph 9: 231 OLD: 232 233 When used for cache updates, a cache will typically use the value of 234 the cached message's Last-Modified field to generate the field value 235 of If-Modified-Since. This behavior is most interoperable for cases 236 where clocks are poorly synchronized or when the server has chosen to 237 only honor exact timestamp matches (due to a problem with Last- 238 Modified dates that appear to go "back in time" when the origin 239 server's clock is corrected or a representation is restored from an 240 archived backup). However, caches occasionally generate the field 241 value based on other data, such as the Date header field of the 242 cached message or the local clock time that the message was received, 243 particularly when the cached message does not contain a Last-Modified 244 field. 245 246 NEW: 247 248 When used for cache updates, a cache will typically use the value of 249 the cached message's Last-Modified field to generate the field value 250 of If-Modified-Since. This behavior is most interoperable for cases 251 where clocks are poorly synchronized or when the server has chosen to 252 only honor exact timestamp matches (due to a problem with 253 Last-Modified dates that appear to go "back in time" when the origin 254 server's clock is corrected or a representation is restored from an 255 archived backup). However, caches occasionally generate the field 256 value based on other data, such as the Date header field of the 257 cached message or the local clock time that the message was received, 258 particularly when the cached message does not contain a Last-Modified 259 field. 260 261 262 Section 3.3., paragraph 10: 263 OLD: 264 265 When used for limiting the scope of retrieval to a recent time 266 window, a user agent will generate an If-Modified-Since field value 267 based on either its own local clock or a Date header field received 268 from the server in a prior response. Origin servers that choose an 269 exact timestamp match based on the selected representation's Last- 270 Modified field will not be able to help the user agent limit its data 271 transfers to only those changed during the specified window. 272 273 NEW: 274 275 When used for limiting the scope of retrieval to a recent time 276 window, a user agent will generate an If-Modified-Since field value 277 based on either its own local clock or a Date header field received 278 from the server in a prior response. Origin servers that choose an 279 exact timestamp match based on the selected representation's 280 Last-Modified field will not be able to help the user agent limit its 281 data transfers to only those changed during the specified window. 282 283 284 Section 3.4., paragraph 5: 285 OLD: 286 287 A recipient MUST ignore If-Unmodified-Since if the request contains 288 an If-Match header field; the condition in If-Match is considered to 289 be a more accurate replacement for the condition in If-Unmodified- 290 Since, and the two are only combined for the sake of interoperating 291 with older intermediaries that might not implement If-Match. 292 293 NEW: 294 295 A recipient MUST ignore If-Unmodified-Since if the request contains 296 an If-Match header field; the condition in If-Match is considered to 297 be a more accurate replacement for the condition in 298 If-Unmodified-Since, and the two are only combined for the sake of 299 interoperating with older intermediaries that might not implement 300 If-Match. 301 302 303 Section 10.1., paragraph 0: 304 OLD: 305 306 10. References 307 10.1. Normative References 308 309 NEW: 310 311 10. References 312 313 10.1. Normative References 314 315 316 Appendix A., paragraph 3: 317 OLD: 318 319 The ETag header field ABNF has been changed to not use quoted-string, 320 thus avoiding escaping issues. (Section 2.3) 321 ETag is defined to provide an entity tag for the selected 322 representation, thereby clarifying what it applies to in various 323 situations (such as a PUT response). (Section 2.3) 324 325 NEW: 326 327 The ETag header field ABNF has been changed to not use quoted-string, 328 thus avoiding escaping issues. (Section 2.3) 329 330 ETag is defined to provide an entity tag for the selected 331 representation, thereby clarifying what it applies to in various 332 situations (such as a PUT response). (Section 2.3) 333 334 335 Section 1.2, paragraph 10: 336 OLD: 337 338 3 339 304 Not Modified (status code) 18 340 341 NEW: 342 343 3 344 304 Not Modified (status code) 19 345 346 347 Section 1.2, paragraph 13: 348 OLD: 349 350 G 351 Grammar 352 entity-tag 9 353 ETag 9 354 etagc 9 355 If-Match 13 356 If-Modified-Since 15 357 If-None-Match 14 358 If-Unmodified-Since 16 359 Last-Modified 7 360 opaque-tag 9 361 weak 9 362 363 NEW: 364 365 G 366 Grammar 367 entity-tag 9 368 ETag 9 369 etagc 9 370 If-Match 13 371 If-Modified-Since 15 372 If-None-Match 14 373 If-Unmodified-Since 17 374 Last-Modified 7 375 opaque-tag 9 376 weak 9 377 378 379 Section 1.2, paragraph 14: 380 OLD: 381 382 I 383 If-Match header field 13 384 If-Modified-Since header field 15 385 If-None-Match header field 14 386 If-Unmodified-Since header field 16 387 388 NEW: 389 390 I 391 If-Match header field 13 392 If-Modified-Since header field 16 393 If-None-Match header field 14 394 If-Unmodified-Since header field 17 395 -
draft-ietf-httpbis/latest/auth48/rfc7232.diff.html
r2712 r2718 149 149 <tr><td class="lineno" valign="top"></td><td class="left"> (Section 3 of [RFC7231]) will be consistent over time if the server</td><td> </td><td class="right"> (Section 3 of [RFC7231]) will be consistent over time if the server</td><td class="lineno" valign="top"></td></tr> 150 150 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 151 <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 8, line 48</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 9, line 4</em></th><td></td></tr> 151 <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 8, line 24</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 8, line 28</em></th><td></td></tr> 152 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 153 <tr><td class="lineno" valign="top"></td><td class="left"> o The validator is being compared by an origin server to the actual</td><td> </td><td class="right"> o The validator is being compared by an origin server to the actual</td><td class="lineno" valign="top"></td></tr> 154 <tr><td class="lineno" valign="top"></td><td class="left"> current validator for the representation and,</td><td> </td><td class="right"> current validator for the representation and,</td><td class="lineno" valign="top"></td></tr> 155 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 156 <tr><td class="lineno" valign="top"></td><td class="left"> o That origin server reliably knows that the associated</td><td> </td><td class="right"> o That origin server reliably knows that the associated</td><td class="lineno" valign="top"></td></tr> 157 <tr><td class="lineno" valign="top"></td><td class="left"> representation did not change twice during the second covered by</td><td> </td><td class="right"> representation did not change twice during the second covered by</td><td class="lineno" valign="top"></td></tr> 158 <tr><td class="lineno" valign="top"></td><td class="left"> the presented validator.</td><td> </td><td class="right"> the presented validator.</td><td class="lineno" valign="top"></td></tr> 159 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 160 <tr><td class="lineno" valign="top"></td><td class="left"> or</td><td> </td><td class="right"> or</td><td class="lineno" valign="top"></td></tr> 161 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 162 <tr><td><a name="diff0004" /></td></tr> 163 <tr><td class="lineno" valign="top"></td><td class="lblock"> o The validator is about to be used by a client in an <span class="delete">If-Modified-</span></td><td> </td><td class="rblock"> o The validator is about to be used by a client in an</td><td class="lineno" valign="top"></td></tr> 164 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Since,</span> If-Unmodified-Since, or If-Range header field, because the</td><td> </td><td class="rblock"> <span class="insert">If-Modified-Since,</span> If-Unmodified-Since, or If-Range header field,</td><td class="lineno" valign="top"></td></tr> 165 <tr><td class="lineno" valign="top"></td><td class="lblock"> client has a cache entry for the associated representation, and</td><td> </td><td class="rblock"> because the client has a cache entry for the associated</td><td class="lineno" valign="top"></td></tr> 166 <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> representation, and</td><td class="lineno" valign="top"></td></tr> 167 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 168 <tr><td class="lineno" valign="top"></td><td class="left"> o That cache entry includes a Date value, which gives the time when</td><td> </td><td class="right"> o That cache entry includes a Date value, which gives the time when</td><td class="lineno" valign="top"></td></tr> 169 <tr><td class="lineno" valign="top"></td><td class="left"> the origin server sent the original response, and</td><td> </td><td class="right"> the origin server sent the original response, and</td><td class="lineno" valign="top"></td></tr> 170 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 171 <tr><td class="lineno" valign="top"></td><td class="left"> o The presented Last-Modified time is at least 60 seconds before the</td><td> </td><td class="right"> o The presented Last-Modified time is at least 60 seconds before the</td><td class="lineno" valign="top"></td></tr> 172 <tr><td class="lineno" valign="top"></td><td class="left"> Date value.</td><td> </td><td class="right"> Date value.</td><td class="lineno" valign="top"></td></tr> 173 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 174 <tr><td class="lineno" valign="top"></td><td class="left"> or</td><td> </td><td class="right"> or</td><td class="lineno" valign="top"></td></tr> 175 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 176 <tr><td class="lineno" valign="top"></td><td class="left"> o The validator is being compared by an intermediate cache to the</td><td> </td><td class="right"> o The validator is being compared by an intermediate cache to the</td><td class="lineno" valign="top"></td></tr> 177 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 178 <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 48</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 9, line 8</em></th><td></td></tr> 152 179 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 153 180 <tr><td class="lineno" valign="top"></td><td class="left"> o That cache entry includes a Date value, which gives the time when</td><td> </td><td class="right"> o That cache entry includes a Date value, which gives the time when</td><td class="lineno" valign="top"></td></tr> … … 160 187 <tr><td class="lineno" valign="top"></td><td class="left"> sent by the origin server during the same second, but both had the</td><td> </td><td class="right"> sent by the origin server during the same second, but both had the</td><td class="lineno" valign="top"></td></tr> 161 188 <tr><td class="lineno" valign="top"></td><td class="left"> same Last-Modified time, then at least one of those responses would</td><td> </td><td class="right"> same Last-Modified time, then at least one of those responses would</td><td class="lineno" valign="top"></td></tr> 162 <tr><td><a name="diff000 4" /></td></tr>189 <tr><td><a name="diff0005" /></td></tr> 163 190 <tr><td class="lineno" valign="top"></td><td class="lblock"> have a Date value equal to its Last-Modified time. The arbitrary <span class="delete">60-</span></td><td> </td><td class="rblock"> have a Date value equal to its Last-Modified time. The arbitrary</td><td class="lineno" valign="top"></td></tr> 164 191 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> second</span> limit guards against the possibility that the Date and <span class="delete">Last-</span></td><td> </td><td class="rblock"> <span class="insert">60-second</span> limit guards against the possibility that the Date and</td><td class="lineno" valign="top"></td></tr> … … 176 203 <tr><td class="lineno" valign="top"></td><td class="left"> resource, regardless of whether those multiple representations are</td><td> </td><td class="right"> resource, regardless of whether those multiple representations are</td><td class="lineno" valign="top"></td></tr> 177 204 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 178 <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 12, line 37</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 13, line 6</em></th><td></td></tr> 205 <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 10, line 37</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 10, line 44</em></th><td></td></tr> 206 <tr><td class="lineno" valign="top"></td><td class="left"> improving service scalability and reliability.</td><td> </td><td class="right"> improving service scalability and reliability.</td><td class="lineno" valign="top"></td></tr> 207 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 208 <tr><td class="lineno" valign="top"></td><td class="left">2.3.2. Comparison</td><td> </td><td class="right">2.3.2. Comparison</td><td class="lineno" valign="top"></td></tr> 209 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 210 <tr><td class="lineno" valign="top"></td><td class="left"> There are two entity-tag comparison functions, depending on whether</td><td> </td><td class="right"> There are two entity-tag comparison functions, depending on whether</td><td class="lineno" valign="top"></td></tr> 211 <tr><td class="lineno" valign="top"></td><td class="left"> or not the comparison context allows the use of weak validators:</td><td> </td><td class="right"> or not the comparison context allows the use of weak validators:</td><td class="lineno" valign="top"></td></tr> 212 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 213 <tr><td class="lineno" valign="top"></td><td class="left"> o Strong comparison: two entity-tags are equivalent if both are not</td><td> </td><td class="right"> o Strong comparison: two entity-tags are equivalent if both are not</td><td class="lineno" valign="top"></td></tr> 214 <tr><td class="lineno" valign="top"></td><td class="left"> weak and their opaque-tags match character-by-character.</td><td> </td><td class="right"> weak and their opaque-tags match character-by-character.</td><td class="lineno" valign="top"></td></tr> 215 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 216 <tr><td><a name="diff0006" /></td></tr> 217 <tr><td class="lineno" valign="top"></td><td class="lblock"> o Weak comparison: two entity-tags are equivalent if their <span class="delete">opaque-</span></td><td> </td><td class="rblock"> o Weak comparison: two entity-tags are equivalent if their</td><td class="lineno" valign="top"></td></tr> 218 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> tags</span> match character-by-character, regardless of either or both</td><td> </td><td class="rblock"> <span class="insert">opaque-tags</span> match character-by-character, regardless of either or</td><td class="lineno" valign="top"></td></tr> 219 <tr><td class="lineno" valign="top"></td><td class="lblock"> being tagged as "weak".</td><td> </td><td class="rblock"> both being tagged as "weak".</td><td class="lineno" valign="top"></td></tr> 220 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 221 <tr><td class="lineno" valign="top"></td><td class="left"> The example below shows the results for a set of entity-tag pairs and</td><td> </td><td class="right"> The example below shows the results for a set of entity-tag pairs and</td><td class="lineno" valign="top"></td></tr> 222 <tr><td class="lineno" valign="top"></td><td class="left"> both the weak and strong comparison function results:</td><td> </td><td class="right"> both the weak and strong comparison function results:</td><td class="lineno" valign="top"></td></tr> 223 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 224 <tr><td class="lineno" valign="top"></td><td class="left"> +--------+--------+-------------------+-----------------+</td><td> </td><td class="right"> +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr> 225 <tr><td class="lineno" valign="top"></td><td class="left"> | ETag 1 | ETag 2 | Strong Comparison | Weak Comparison |</td><td> </td><td class="right"> | ETag 1 | ETag 2 | Strong Comparison | Weak Comparison |</td><td class="lineno" valign="top"></td></tr> 226 <tr><td class="lineno" valign="top"></td><td class="left"> +--------+--------+-------------------+-----------------+</td><td> </td><td class="right"> +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr> 227 <tr><td class="lineno" valign="top"></td><td class="left"> | W/"1" | W/"1" | no match | match |</td><td> </td><td class="right"> | W/"1" | W/"1" | no match | match |</td><td class="lineno" valign="top"></td></tr> 228 <tr><td class="lineno" valign="top"></td><td class="left"> | W/"1" | W/"2" | no match | no match |</td><td> </td><td class="right"> | W/"1" | W/"2" | no match | no match |</td><td class="lineno" valign="top"></td></tr> 229 <tr><td class="lineno" valign="top"></td><td class="left"> | W/"1" | "1" | no match | match |</td><td> </td><td class="right"> | W/"1" | "1" | no match | match |</td><td class="lineno" valign="top"></td></tr> 230 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 231 <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 12, line 37</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 13, line 6</em></th><td></td></tr> 179 232 <tr><td class="lineno" valign="top"></td><td class="left"> send both a strong entity-tag and a Last-Modified value in successful</td><td> </td><td class="right"> send both a strong entity-tag and a Last-Modified value in successful</td><td class="lineno" valign="top"></td></tr> 180 233 <tr><td class="lineno" valign="top"></td><td class="left"> responses to a retrieval request.</td><td> </td><td class="right"> responses to a retrieval request.</td><td class="lineno" valign="top"></td></tr> … … 187 240 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 188 241 <tr><td class="lineno" valign="top"></td><td class="left"> o SHOULD send the Last-Modified value in non-subrange cache</td><td> </td><td class="right"> o SHOULD send the Last-Modified value in non-subrange cache</td><td class="lineno" valign="top"></td></tr> 189 <tr><td><a name="diff000 5" /></td></tr>242 <tr><td><a name="diff0007" /></td></tr> 190 243 <tr><td class="lineno" valign="top"></td><td class="lblock"> validation requests (using If-Modified-Since) if only a <span class="delete">Last-</span></td><td> </td><td class="rblock"> validation requests (using If-Modified-Since) if only a</td><td class="lineno" valign="top"></td></tr> 191 244 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified</span> value has been provided by the origin server.</td><td> </td><td class="rblock"> <span class="insert">Last-Modified</span> value has been provided by the origin server.</td><td class="lineno" valign="top"></td></tr> … … 201 254 <tr><td class="lineno" valign="top"></td><td class="left"> respond appropriately.</td><td> </td><td class="right"> respond appropriately.</td><td class="lineno" valign="top"></td></tr> 202 255 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 203 <tr bgcolor="gray" ><td></td><th><a name="part-l 5" /><small>skipping to change at</small><em> page 15, line 42</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 16, line 21</em></th><td></td></tr>256 <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 15, line 42</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 16, line 21</em></th><td></td></tr> 204 257 <tr><td class="lineno" valign="top"></td><td class="left"> data has not changed.</td><td> </td><td class="right"> data has not changed.</td><td class="lineno" valign="top"></td></tr> 205 258 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 212 265 <tr><td class="lineno" valign="top"></td><td class="left"> A recipient MUST ignore If-Modified-Since if the request contains an</td><td> </td><td class="right"> A recipient MUST ignore If-Modified-Since if the request contains an</td><td class="lineno" valign="top"></td></tr> 213 266 <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match header field; the condition in If-None-Match is</td><td> </td><td class="right"> If-None-Match header field; the condition in If-None-Match is</td><td class="lineno" valign="top"></td></tr> 214 <tr><td><a name="diff000 6" /></td></tr>267 <tr><td><a name="diff0008" /></td></tr> 215 268 <tr><td class="lineno" valign="top"></td><td class="lblock"> considered to be a more accurate replacement for the condition in <span class="delete">If-</span></td><td> </td><td class="rblock"> considered to be a more accurate replacement for the condition in</td><td class="lineno" valign="top"></td></tr> 216 269 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified-Since,</span> and the two are only combined for the sake of</td><td> </td><td class="rblock"> <span class="insert">If-Modified-Since,</span> and the two are only combined for the sake of</td><td class="lineno" valign="top"></td></tr> … … 234 287 <tr><td class="lineno" valign="top"></td><td class="left"> of If-Modified-Since. This behavior is most interoperable for cases</td><td> </td><td class="right"> of If-Modified-Since. This behavior is most interoperable for cases</td><td class="lineno" valign="top"></td></tr> 235 288 <tr><td class="lineno" valign="top"></td><td class="left"> where clocks are poorly synchronized or when the server has chosen to</td><td> </td><td class="right"> where clocks are poorly synchronized or when the server has chosen to</td><td class="lineno" valign="top"></td></tr> 236 <tr><td><a name="diff000 7" /></td></tr>289 <tr><td><a name="diff0009" /></td></tr> 237 290 <tr><td class="lineno" valign="top"></td><td class="lblock"> only honor exact timestamp matches (due to a problem with <span class="delete">Last-</span></td><td> </td><td class="rblock"> only honor exact timestamp matches (due to a problem with</td><td class="lineno" valign="top"></td></tr> 238 291 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified</span> dates that appear to go "back in time" when the origin</td><td> </td><td class="rblock"> <span class="insert">Last-Modified</span> dates that appear to go "back in time" when the origin</td><td class="lineno" valign="top"></td></tr> … … 248 301 <tr><td class="lineno" valign="top"></td><td class="left"> based on either its own local clock or a Date header field received</td><td> </td><td class="right"> based on either its own local clock or a Date header field received</td><td class="lineno" valign="top"></td></tr> 249 302 <tr><td class="lineno" valign="top"></td><td class="left"> from the server in a prior response. Origin servers that choose an</td><td> </td><td class="right"> from the server in a prior response. Origin servers that choose an</td><td class="lineno" valign="top"></td></tr> 250 <tr><td><a name="diff00 08" /></td></tr>303 <tr><td><a name="diff0010" /></td></tr> 251 304 <tr><td class="lineno" valign="top"></td><td class="lblock"> exact timestamp match based on the selected representation's <span class="delete">Last-</span></td><td> </td><td class="rblock"> exact timestamp match based on the selected representation's</td><td class="lineno" valign="top"></td></tr> 252 305 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified</span> field will not be able to help the user agent limit its data</td><td> </td><td class="rblock"> <span class="insert">Last-Modified</span> field will not be able to help the user agent limit its</td><td class="lineno" valign="top"></td></tr> … … 263 316 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 264 317 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 265 <tr bgcolor="gray" ><td></td><th><a name="part-l 6" /><small>skipping to change at</small><em> page 17, line 13</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 17, line 41</em></th><td></td></tr>318 <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 17, line 13</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 41</em></th><td></td></tr> 266 319 <tr><td class="lineno" valign="top"></td><td class="left"> the user agent does not have an entity-tag for the representation.</td><td> </td><td class="right"> the user agent does not have an entity-tag for the representation.</td><td class="lineno" valign="top"></td></tr> 267 320 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 274 327 <tr><td class="lineno" valign="top"></td><td class="left"> A recipient MUST ignore If-Unmodified-Since if the request contains</td><td> </td><td class="right"> A recipient MUST ignore If-Unmodified-Since if the request contains</td><td class="lineno" valign="top"></td></tr> 275 328 <tr><td class="lineno" valign="top"></td><td class="left"> an If-Match header field; the condition in If-Match is considered to</td><td> </td><td class="right"> an If-Match header field; the condition in If-Match is considered to</td><td class="lineno" valign="top"></td></tr> 276 <tr><td><a name="diff00 09" /></td></tr>329 <tr><td><a name="diff0011" /></td></tr> 277 330 <tr><td class="lineno" valign="top"></td><td class="lblock"> be a more accurate replacement for the condition in <span class="delete">If-Unmodified-</span></td><td> </td><td class="rblock"> be a more accurate replacement for the condition in</td><td class="lineno" valign="top"></td></tr> 278 331 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Since,</span> and the two are only combined for the sake of interoperating</td><td> </td><td class="rblock"> <span class="insert">If-Unmodified-Since,</span> and the two are only combined for the sake of</td><td class="lineno" valign="top"></td></tr> … … 290 343 <tr><td class="lineno" valign="top"></td><td class="left"> multiple user agents might be acting in parallel on a resource that</td><td> </td><td class="right"> multiple user agents might be acting in parallel on a resource that</td><td class="lineno" valign="top"></td></tr> 291 344 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 292 <tr bgcolor="gray" ><td></td><th><a name="part-l 7" /><small>skipping to change at</small><em> page 25, line 32</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 27, line 8</em></th><td></td></tr>345 <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 25, line 32</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 27, line 8</em></th><td></td></tr> 293 346 <tr><td class="lineno" valign="top"></td><td class="left"> / obs-text</td><td> </td><td class="right"> / obs-text</td><td class="lineno" valign="top"></td></tr> 294 347 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 301 354 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 302 355 <tr><td class="lineno" valign="top"></td><td class="left"> 3</td><td> </td><td class="right"> 3</td><td class="lineno" valign="top"></td></tr> 303 <tr><td><a name="diff001 0" /></td></tr>356 <tr><td><a name="diff0012" /></td></tr> 304 357 <tr><td class="lineno" valign="top"></td><td class="lblock"> 304 Not Modified (status code) 1<span class="delete">8</span></td><td> </td><td class="rblock"> 304 Not Modified (status code) 1<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr> 305 358 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 318 371 <tr><td class="lineno" valign="top"></td><td class="left"> If-Modified-Since 15</td><td> </td><td class="right"> If-Modified-Since 15</td><td class="lineno" valign="top"></td></tr> 319 372 <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match 14</td><td> </td><td class="right"> If-None-Match 14</td><td class="lineno" valign="top"></td></tr> 320 <tr><td><a name="diff001 1" /></td></tr>373 <tr><td><a name="diff0013" /></td></tr> 321 374 <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Unmodified-Since 1<span class="delete">6</span></td><td> </td><td class="rblock"> If-Unmodified-Since 1<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 322 375 <tr><td class="lineno" valign="top"></td><td class="left"> Last-Modified 7</td><td> </td><td class="right"> Last-Modified 7</td><td class="lineno" valign="top"></td></tr> … … 326 379 <tr><td class="lineno" valign="top"></td><td class="left"> I</td><td> </td><td class="right"> I</td><td class="lineno" valign="top"></td></tr> 327 380 <tr><td class="lineno" valign="top"></td><td class="left"> If-Match header field 13</td><td> </td><td class="right"> If-Match header field 13</td><td class="lineno" valign="top"></td></tr> 328 <tr><td><a name="diff001 2" /></td></tr>381 <tr><td><a name="diff0014" /></td></tr> 329 382 <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Modified-Since header field 1<span class="delete">5</span></td><td> </td><td class="rblock"> If-Modified-Since header field 1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr> 330 383 <tr><td class="lineno" valign="top"></td><td class="left"> If-None-Match header field 14</td><td> </td><td class="right"> If-None-Match header field 14</td><td class="lineno" valign="top"></td></tr> 331 <tr><td><a name="diff001 3" /></td></tr>384 <tr><td><a name="diff0015" /></td></tr> 332 385 <tr><td class="lineno" valign="top"></td><td class="lblock"> If-Unmodified-Since header field 1<span class="delete">6</span></td><td> </td><td class="rblock"> If-Unmodified-Since header field 1<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 333 386 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 343 396 344 397 <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> 345 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 1 3change blocks. </a></th></tr>346 <tr class="stats"><td></td><th><i> 75 lines changed or deleted</i></th><th><i> </i></th><th><i>62lines changed or added</i></th><td></td></tr>398 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 15 change blocks. </a></th></tr> 399 <tr class="stats"><td></td><th><i>81 lines changed or deleted</i></th><th><i> </i></th><th><i>69 lines changed or added</i></th><td></td></tr> 347 400 <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr> 348 401 </table> -
draft-ietf-httpbis/latest/auth48/rfc7232.txt
r2712 r2718 428 428 or 429 429 430 o The validator is about to be used by a client in an If-Modified- 431 Since, If-Unmodified-Since, or If-Range header field, because the 432 client has a cache entry for the associated representation, and 430 o The validator is about to be used by a client in an 431 If-Modified-Since, If-Unmodified-Since, or If-Range header field, 432 because the client has a cache entry for the associated 433 representation, and 433 434 434 435 o That cache entry includes a Date value, which gives the time when … … 448 449 o The presented Last-Modified time is at least 60 seconds before the 449 450 Date value. 451 452 453 454 455 456 457 Fielding & Reschke Standards Track [Page 8] 458 459 460 RFC 7232 HTTP/1.1 Conditional Requests June 2014 461 450 462 451 463 This method relies on the fact that if two different responses were 452 464 sent by the origin server during the same second, but both had the 453 465 same Last-Modified time, then at least one of those responses would 454 455 456 457 Fielding & Reschke Standards Track [Page 8]458 459 460 RFC 7232 HTTP/1.1 Conditional Requests June 2014461 462 463 466 have a Date value equal to its Last-Modified time. The arbitrary 464 467 60-second limit guards against the possibility that the Date and … … 505 508 ETag: "" 506 509 510 511 512 513 514 Fielding & Reschke Standards Track [Page 9] 515 516 517 RFC 7232 HTTP/1.1 Conditional Requests June 2014 518 519 507 520 An entity-tag can be either a weak or strong validator, with strong 508 521 being the default. If an origin server provides an entity-tag for a 509 522 representation and the generation of that entity-tag does not satisfy 510 511 512 513 514 Fielding & Reschke Standards Track [Page 9]515 516 517 RFC 7232 HTTP/1.1 Conditional Requests June 2014518 519 520 523 all of the characteristics of a strong validator (Section 2.1), then 521 524 the origin server MUST mark the entity-tag as weak by prefixing its … … 554 557 weak and their opaque-tags match character-by-character. 555 558 556 o Weak comparison: two entity-tags are equivalent if their opaque- 557 tags match character-by-character, regardless of either or both 558 being tagged as "weak". 559 560 561 559 o Weak comparison: two entity-tags are equivalent if their 560 opaque-tags match character-by-character, regardless of either or 561 both being tagged as "weak". 562 562 563 563 -
draft-ietf-httpbis/latest/auth48/rfc7234.abdiff.txt
r2711 r2718 38 38 document authors. All rights reserved. 39 39 40 41 INTRODUCTION, paragraph 13: 42 OLD: 43 44 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 45 1.1. Conformance and Error Handling . . . . . . . . . . . . . . 4 46 1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4 47 1.2.1. Delta Seconds . . . . . . . . . . . . . . . . . . . . 5 48 2. Overview of Cache Operation . . . . . . . . . . . . . . . . . 5 49 3. Storing Responses in Caches . . . . . . . . . . . . . . . . . 6 50 3.1. Storing Incomplete Responses . . . . . . . . . . . . . . . 7 51 3.2. Storing Responses to Authenticated Requests . . . . . . . 7 52 3.3. Combining Partial Content . . . . . . . . . . . . . . . . 8 53 4. Constructing Responses from Caches . . . . . . . . . . . . . . 8 54 4.1. Calculating Secondary Keys with Vary . . . . . . . . . . . 9 55 4.2. Freshness . . . . . . . . . . . . . . . . . . . . . . . . 10 56 4.2.1. Calculating Freshness Lifetime . . . . . . . . . . . . 12 57 4.2.2. Calculating Heuristic Freshness . . . . . . . . . . . 12 58 4.2.3. Calculating Age . . . . . . . . . . . . . . . . . . . 13 59 4.2.4. Serving Stale Responses . . . . . . . . . . . . . . . 15 60 4.3. Validation . . . . . . . . . . . . . . . . . . . . . . . . 15 61 4.3.1. Sending a Validation Request . . . . . . . . . . . . . 15 62 4.3.2. Handling a Received Validation Request . . . . . . . . 16 63 4.3.3. Handling a Validation Response . . . . . . . . . . . . 17 64 4.3.4. Freshening Stored Responses upon Validation . . . . . 18 65 4.3.5. Freshening Responses via HEAD . . . . . . . . . . . . 19 66 4.4. Invalidation . . . . . . . . . . . . . . . . . . . . . . . 19 67 5. Header Field Definitions . . . . . . . . . . . . . . . . . . . 20 68 5.1. Age . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 69 5.2. Cache-Control . . . . . . . . . . . . . . . . . . . . . . 21 70 5.2.1. Request Cache-Control Directives . . . . . . . . . . . 21 71 5.2.2. Response Cache-Control Directives . . . . . . . . . . 23 72 5.2.3. Cache Control Extensions . . . . . . . . . . . . . . . 26 73 5.3. Expires . . . . . . . . . . . . . . . . . . . . . . . . . 27 74 5.4. Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 28 75 5.5. Warning . . . . . . . . . . . . . . . . . . . . . . . . . 29 76 5.5.1. Warning: 110 - "Response is Stale" . . . . . . . . . . 30 77 5.5.2. Warning: 111 - "Revalidation Failed" . . . . . . . . . 31 78 5.5.3. Warning: 112 - "Disconnected Operation" . . . . . . . 31 79 5.5.4. Warning: 113 - "Heuristic Expiration" . . . . . . . . 31 80 5.5.5. Warning: 199 - "Miscellaneous Warning" . . . . . . . . 31 81 5.5.6. Warning: 214 - "Transformation Applied" . . . . . . . 31 82 5.5.7. Warning: 299 - "Miscellaneous Persistent Warning" . . 31 83 6. History Lists . . . . . . . . . . . . . . . . . . . . . . . . 31 84 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 85 7.1. Cache Directive Registry . . . . . . . . . . . . . . . . . 32 86 7.1.1. Procedure . . . . . . . . . . . . . . . . . . . . . . 32 87 7.1.2. Considerations for New Cache Control Directives . . . 32 88 7.1.3. Registrations . . . . . . . . . . . . . . . . . . . . 32 89 7.2. Warn Code Registry . . . . . . . . . . . . . . . . . . . . 33 90 7.2.1. Procedure . . . . . . . . . . . . . . . . . . . . . . 33 91 7.2.2. Registrations . . . . . . . . . . . . . . . . . . . . 33 92 7.3. Header Field Registration . . . . . . . . . . . . . . . . 34 93 8. Security Considerations . . . . . . . . . . . . . . . . . . . 34 94 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35 95 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35 96 10.1. Normative References . . . . . . . . . . . . . . . . . . . 35 97 10.2. Informative References . . . . . . . . . . . . . . . . . . 36 98 Appendix A. Changes from RFC 2616 . . . . . . . . . . . . . . . . 36 99 Appendix B. Imported ABNF . . . . . . . . . . . . . . . . . . . . 38 100 Appendix C. Collected ABNF . . . . . . . . . . . . . . . . . . . 38 101 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 102 103 NEW: 104 105 1. Introduction ....................................................4 106 1.1. Conformance and Error Handling .............................4 107 1.2. Syntax Notation ............................................4 108 1.2.1. Delta Seconds .......................................5 109 2. Overview of Cache Operation .....................................5 110 3. Storing Responses in Caches .....................................6 111 3.1. Storing Incomplete Responses ...............................7 112 3.2. Storing Responses to Authenticated Requests ................7 113 3.3. Combining Partial Content ..................................8 114 4. Constructing Responses from Caches ..............................8 115 4.1. Calculating Secondary Keys with Vary .......................9 116 4.2. Freshness .................................................11 117 4.2.1. Calculating Freshness Lifetime .....................12 118 4.2.2. Calculating Heuristic Freshness ....................13 119 4.2.3. Calculating Age ....................................13 120 4.2.4. Serving Stale Responses ............................15 121 4.3. Validation ................................................16 122 4.3.1. Sending a Validation Request .......................16 123 4.3.2. Handling a Received Validation Request .............16 124 4.3.3. Handling a Validation Response .....................18 125 4.3.4. Freshening Stored Responses upon Validation ........18 126 4.3.5. Freshening Responses via HEAD ......................19 127 4.4. Invalidation ..............................................20 128 5. Header Field Definitions .......................................21 129 5.1. Age .......................................................21 130 5.2. Cache-Control .............................................21 131 5.2.1. Request Cache-Control Directives ...................22 132 5.2.2. Response Cache-Control Directives ..................24 133 5.2.3. Cache Control Extensions ...........................27 134 5.3. Expires ...................................................28 135 5.4. Pragma ....................................................29 136 5.5. Warning ...................................................29 137 5.5.1. Warning: 110 - "Response is Stale" .................31 138 5.5.2. Warning: 111 - "Revalidation Failed" ...............31 139 5.5.3. Warning: 112 - "Disconnected Operation" ............31 140 5.5.4. Warning: 113 - "Heuristic Expiration" ..............31 141 5.5.5. Warning: 199 - "Miscellaneous Warning" .............32 142 5.5.6. Warning: 214 - "Transformation Applied" ............32 143 5.5.7. Warning: 299 - "Miscellaneous Persistent Warning" ..32 144 6. History Lists ..................................................32 145 7. IANA Considerations ............................................32 146 7.1. Cache Directive Registry ..................................32 147 7.1.1. Procedure ..........................................32 148 7.1.2. Considerations for New Cache Control Directives ....33 149 7.1.3. Registrations ......................................33 150 7.2. Warn Code Registry ........................................34 151 7.2.1. Procedure ..........................................34 152 7.2.2. Registrations ......................................34 153 7.3. Header Field Registration .................................34 154 8. Security Considerations ........................................35 155 9. Acknowledgments ................................................36 156 10. References ....................................................36 157 10.1. Normative References .....................................36 158 10.2. Informative References ...................................37 159 Appendix A. Changes from RFC 2616 .................................38 160 Appendix B. Imported ABNF .........................................39 161 Appendix C. Collected ABNF ........................................39 162 Index .............................................................41 163 164 165 Section 1.2.1., paragraph 3: 166 OLD: 167 168 A recipient parsing a delta-seconds value and converting it to binary 169 form ought to use an arithmetic type of at least 31 bits of non- 170 negative integer range. If a cache receives a delta-seconds value 171 greater than the greatest integer it can represent, or if any of its 172 subsequent calculations overflows, the cache MUST consider the value 173 to be either 2147483648 (2^31) or the greatest positive integer it 174 can conveniently represent. 175 176 NEW: 177 178 A recipient parsing a delta-seconds value and converting it to binary 179 form ought to use an arithmetic type of at least 31 bits of 180 non-negative integer range. If a cache receives a delta-seconds 181 value greater than the greatest integer it can represent, or if any 182 of its subsequent calculations overflows, the cache MUST consider the 183 value to be either 2147483648 (2^31) or the greatest positive integer 184 it can conveniently represent. 185 186 187 Section 3.3., paragraph 3: 188 OLD: 189 190 o delete any Warning header fields in the stored response with warn- 191 code 1xx (see Section 5.5); 192 193 NEW: 194 195 o delete any Warning header fields in the stored response with 196 warn-code 1xx (see Section 5.5); 197 198 199 Section 3.3., paragraph 4: 200 OLD: 201 202 o retain any Warning header fields in the stored response with warn- 203 code 2xx; and, 204 205 NEW: 206 207 o retain any Warning header fields in the stored response with 208 warn-code 2xx; and, 209 210 211 Section 4.2., paragraph 13: 212 OLD: 213 214 o Although all date formats are specified to be case-sensitive, a 215 cache recipient SHOULD match day, week, and time-zone names case- 216 insensitively. 217 218 NEW: 219 220 o Although all date formats are specified to be case-sensitive, a 221 cache recipient SHOULD match day, week, and time-zone names 222 case-insensitively. 223 224 225 Section 4.2.4., paragraph 3: 226 OLD: 227 228 A cache MUST NOT send stale responses unless it is disconnected 229 (i.e., it cannot contact the origin server or otherwise find a 230 forward path) or doing so is explicitly allowed (e.g., by the max- 231 stale request directive; see Section 5.2.1). 232 233 NEW: 234 235 A cache MUST NOT send stale responses unless it is disconnected 236 (i.e., it cannot contact the origin server or otherwise find a 237 forward path) or doing so is explicitly allowed (e.g., by the 238 max-stale request directive; see Section 5.2.1). 239 240 241 Section 4.3.1., paragraph 2: 242 OLD: 243 244 One such validator is the timestamp given in a Last-Modified header 245 field (Section 2.2 of [RFC7232]), which can be used in an If- 246 Modified-Since header field for response validation, or in an If- 247 Unmodified-Since or If-Range header field for representation 248 selection (i.e., the client is referring specifically to a previously 249 obtained representation with that timestamp). 250 251 NEW: 252 253 One such validator is the timestamp given in a Last-Modified header 254 field (Section 2.2 of [RFC7232]), which can be used in an 255 If-Modified-Since header field for response validation, or in an 256 If-Unmodified-Since or If-Range header field for representation 257 selection (i.e., the client is referring specifically to a previously 258 obtained representation with that timestamp). 259 260 261 Section 4.3.2., paragraph 3: 262 OLD: 263 264 The proper evaluation of conditional requests by a cache depends on 265 the received precondition header fields and their precedence, as 266 defined in Section 6 of [RFC7232]. The If-Match and If-Unmodified- 267 Since conditional header fields are not applicable to a cache. 268 269 NEW: 270 271 The proper evaluation of conditional requests by a cache depends on 272 the received precondition header fields and their precedence, as 273 defined in Section 6 of [RFC7232]. The If-Match and 274 If-Unmodified-Since conditional header fields are not applicable to a 275 cache. 276 277 278 Section 4.3.2., paragraph 6: 279 OLD: 280 281 If an If-None-Match header field is not present, a request containing 282 an If-Modified-Since header field (Section 3.3 of [RFC7232]) 283 indicates that the client wants to validate one or more of its own 284 stored responses by modification date. A cache recipient SHOULD 285 generate a 304 (Not Modified) response (using the metadata of the 286 selected stored response) if one of the following cases is true: 1) 287 the selected stored response has a Last-Modified field-value that is 288 earlier than or equal to the conditional timestamp; 2) no Last- 289 Modified field is present in the selected stored response, but it has 290 a Date field-value that is earlier than or equal to the conditional 291 timestamp; or, 3) neither Last-Modified nor Date is present in the 292 selected stored response, but the cache recorded it as having been 293 received at a time earlier than or equal to the conditional 294 timestamp. 295 296 NEW: 297 298 If an If-None-Match header field is not present, a request containing 299 an If-Modified-Since header field (Section 3.3 of [RFC7232]) 300 indicates that the client wants to validate one or more of its own 301 stored responses by modification date. A cache recipient SHOULD 302 generate a 304 (Not Modified) response (using the metadata of the 303 selected stored response) if one of the following cases is true: 1) 304 the selected stored response has a Last-Modified field-value that is 305 earlier than or equal to the conditional timestamp; 2) no 306 Last-Modified field is present in the selected stored response, but 307 it has a Date field-value that is earlier than or equal to the 308 conditional timestamp; or, 3) neither Last-Modified nor Date is 309 present in the selected stored response, but the cache recorded it as 310 having been received at a time earlier than or equal to the 311 conditional timestamp. 312 313 314 Section 4.3.4., paragraph 7: 315 OLD: 316 317 o delete any Warning header fields in the stored response with warn- 318 code 1xx (see Section 5.5); 319 320 NEW: 321 322 o delete any Warning header fields in the stored response with 323 warn-code 1xx (see Section 5.5); 324 325 326 Section 4.3.4., paragraph 8: 327 OLD: 328 329 o retain any Warning header fields in the stored response with warn- 330 code 2xx; and, 331 332 NEW: 333 334 o retain any Warning header fields in the stored response with 335 warn-code 2xx; and, 336 337 338 Section 4.3.5., paragraph 3: 339 OLD: 340 341 For each of the stored responses that could have been selected, if 342 the stored response and HEAD response have matching values for any 343 received validator fields (ETag and Last-Modified) and, if the HEAD 344 response has a Content-Length header field, the value of Content- 345 Length matches that of the stored response, the cache SHOULD update 346 the stored response as described below; otherwise, the cache SHOULD 347 consider the stored response to be stale. 348 349 NEW: 350 351 For each of the stored responses that could have been selected, if 352 the stored response and HEAD response have matching values for any 353 received validator fields (ETag and Last-Modified) and, if the HEAD 354 response has a Content-Length header field, the value of 355 Content-Length matches that of the stored response, the cache SHOULD 356 update the stored response as described below; otherwise, the cache 357 SHOULD consider the stored response to be stale. 358 359 360 Section 4.3.5., paragraph 5: 361 OLD: 362 363 o delete any Warning header fields in the stored response with warn- 364 code 1xx (see Section 5.5); 365 366 NEW: 367 368 o delete any Warning header fields in the stored response with 369 warn-code 1xx (see Section 5.5); 370 371 372 Section 4.3.5., paragraph 6: 373 OLD: 374 375 o retain any Warning header fields in the stored response with warn- 376 code 2xx; and, 377 378 NEW: 379 380 o retain any Warning header fields in the stored response with 381 warn-code 2xx; and, 382 383 384 Section 5.2., paragraph 5: 385 OLD: 386 387 Cache directives are identified by a token, to be compared case- 388 insensitively, and have an optional argument, that can use both token 389 and quoted-string syntax. For the directives defined below that 390 define arguments, recipients ought to accept both forms, even if one 391 is documented to be preferred. For any directive not defined by this 392 specification, a recipient MUST accept both forms. 393 394 NEW: 395 396 Cache directives are identified by a token, to be compared 397 case-insensitively, and have an optional argument, that can use both 398 token and quoted-string syntax. For the directives defined below 399 that define arguments, recipients ought to accept both forms, even if 400 one is documented to be preferred. For any directive not defined by 401 this specification, a recipient MUST accept both forms. 402 403 404 Section 5.2.1.5., paragraph 1: 405 OLD: 406 407 The "no-store" request directive indicates that a cache MUST NOT 408 store any part of either this request or any response to it. This 409 directive applies to both private and shared caches. "MUST NOT 410 store" in this context means that the cache MUST NOT intentionally 411 store the information in non-volatile storage, and MUST make a best- 412 effort attempt to remove the information from volatile storage as 413 promptly as possible after forwarding it. 414 415 NEW: 416 417 The "no-store" request directive indicates that a cache MUST NOT 418 store any part of either this request or any response to it. This 419 directive applies to both private and shared caches. "MUST NOT 420 store" in this context means that the cache MUST NOT intentionally 421 store the information in non-volatile storage, and MUST make a 422 best-effort attempt to remove the information from volatile storage 423 as promptly as possible after forwarding it. 424 425 426 Section 5.2.2.2., paragraph 7: 427 OLD: 428 429 Note: Although it has been back-ported to many implementations, some 430 HTTP/1.0 caches will not recognize or obey this directive. Also, no- 431 cache response directives with field-names are often handled by 432 caches as if an unqualified no-cache directive was received; i.e., 433 the special handling for the qualified form is not widely 434 implemented. 435 436 NEW: 437 438 Note: Although it has been back-ported to many implementations, some 439 HTTP/1.0 caches will not recognize or obey this directive. Also, 440 no-cache response directives with field-names are often handled by 441 caches as if an unqualified no-cache directive was received; i.e., 442 the special handling for the qualified form is not widely 443 implemented. 444 445 446 Section 5.2.2.3., paragraph 1: 447 OLD: 448 449 The "no-store" response directive indicates that a cache MUST NOT 450 store any part of either the immediate request or response. This 451 directive applies to both private and shared caches. "MUST NOT 452 store" in this context means that the cache MUST NOT intentionally 453 store the information in non-volatile storage, and MUST make a best- 454 effort attempt to remove the information from volatile storage as 455 promptly as possible after forwarding it. 456 457 NEW: 458 459 The "no-store" response directive indicates that a cache MUST NOT 460 store any part of either the immediate request or response. This 461 directive applies to both private and shared caches. "MUST NOT 462 store" in this context means that the cache MUST NOT intentionally 463 store the information in non-volatile storage, and MUST make a 464 best-effort attempt to remove the information from volatile storage 465 as promptly as possible after forwarding it. 466 467 468 Section 5.5., paragraph 15: 469 OLD: 470 471 If a recipient that uses, evaluates, or displays Warning header 472 fields receives a warn-date that is different from the Date value in 473 the same message, the recipient MUST exclude the warning-value 474 containing that warn-date before storing, forwarding, or using the 475 message. This allows recipients to exclude warning-values that were 476 improperly retained after a cache validation. If all of the warning- 477 values are excluded, the recipient MUST exclude the Warning header 478 field as well. 479 480 NEW: 481 482 If a recipient that uses, evaluates, or displays Warning header 483 fields receives a warn-date that is different from the Date value in 484 the same message, the recipient MUST exclude the warning-value 485 containing that warn-date before storing, forwarding, or using the 486 message. This allows recipients to exclude warning-values that were 487 improperly retained after a cache validation. If all of the 488 warning-values are excluded, the recipient MUST exclude the Warning 489 header field as well. 490 491 492 Section 5.5.6., paragraph 1: 493 OLD: 494 495 This Warning code MUST be added by a proxy if it applies any 496 transformation to the representation, such as changing the content- 497 coding, media-type, or modifying the representation data, unless this 498 Warning code already appears in the response. 499 500 NEW: 501 502 This Warning code MUST be added by a proxy if it applies any 503 transformation to the representation, such as changing the 504 content-coding, media-type, or modifying the representation data, 505 unless this Warning code already appears in the response. 506 507 508 Section 7.1.1., paragraph 2: 509 OLD: 510 511 o Cache Directive Name 512 513 o Pointer to specification text 514 515 NEW: 516 517 o Cache Directive Name 518 o Pointer to specification text 519 520 521 Appendix A., paragraph 3: 522 OLD: 523 524 New status codes can now define that caches are allowed to use 525 heuristic freshness with them. Caches are now allowed to calculate 526 heuristic freshness for URIs with query components. (Section 4.2.2) 527 The algorithm for calculating age is now less conservative. Caches 528 are now required to handle dates with time zones as if they're 529 invalid, because it's not possible to accurately guess. 530 (Section 4.2.3) 531 532 NEW: 533 534 New status codes can now define that caches are allowed to use 535 heuristic freshness with them. Caches are now allowed to calculate 536 heuristic freshness for URIs with query components. (Section 4.2.2) 537 538 The algorithm for calculating age is now less conservative. Caches 539 are now required to handle dates with time zones as if they're 540 invalid, because it's not possible to accurately guess. 541 (Section 4.2.3) 542 543 544 Appendix A., paragraph 11: 545 OLD: 546 547 The "no-cache" response directive's meaning has been clarified. 548 (Section 5.2.2.2) 549 550 The one-year limit on Expires header field values has been removed; 551 instead, the reasoning for using a sensible value is given. 552 (Section 5.3) 553 554 NEW: 555 556 The "no-cache" response directive's meaning has been clarified. 557 (Section 5.2.2.2) 558 The one-year limit on Expires header field values has been removed; 559 instead, the reasoning for using a sensible value is given. 560 (Section 5.3) 561 562 563 Section 1.2, paragraph 18: 564 OLD: 565 566 1 567 110 (warn-code) 30 568 111 (warn-code) 31 569 112 (warn-code) 31 570 113 (warn-code) 31 571 199 (warn-code) 31 572 573 NEW: 574 575 1 576 110 (warn-code) 31 577 111 (warn-code) 31 578 112 (warn-code) 31 579 113 (warn-code) 31 580 199 (warn-code) 32 581 582 583 Section 1.2, paragraph 19: 584 OLD: 585 586 2 587 214 (warn-code) 31 588 299 (warn-code) 31 589 590 NEW: 591 592 2 593 214 (warn-code) 32 594 299 (warn-code) 32 595 596 597 Section 1.2, paragraph 20: 598 OLD: 599 600 A 601 age 10 602 Age header field 20 603 604 NEW: 605 606 A 607 age 11 608 Age header field 21 609 610 611 Section 1.2, paragraph 23: 612 OLD: 613 614 E 615 Expires header field 27 616 explicit expiration time 10 617 618 NEW: 619 620 E 621 Expires header field 28 622 explicit expiration time 11 623 624 625 Section 1.2, paragraph 24: 626 OLD: 627 628 F 629 fresh 10 630 freshness lifetime 10 631 632 NEW: 633 634 F 635 fresh 11 636 freshness lifetime 11 637 638 639 Section 1.2, paragraph 25: 640 OLD: 641 642 G 643 Grammar 644 Age 20 645 Cache-Control 21 646 cache-directive 21 647 delta-seconds 5 648 Expires 27 649 extension-pragma 28 650 Pragma 28 651 pragma-directive 28 652 warn-agent 29 653 warn-code 29 654 warn-date 29 655 warn-text 29 656 Warning 29 657 warning-value 29 658 659 NEW: 660 661 G 662 Grammar 663 Age 21 664 Cache-Control 22 665 cache-directive 22 666 delta-seconds 5 667 Expires 28 668 extension-pragma 29 669 Pragma 29 670 pragma-directive 29 671 warn-agent 29 672 warn-code 29 673 warn-date 29 674 warn-text 29 675 Warning 29 676 warning-value 29 677 678 679 Section 1.2, paragraph 26: 680 OLD: 681 682 H 683 Heuristic Expiration (warn-text) 31 684 heuristic expiration time 10 685 686 M 687 max-age (cache directive) 21, 26 688 max-stale (cache directive) 22 689 min-fresh (cache directive) 22 690 Miscellaneous Persistent Warning (warn-text) 31 691 Miscellaneous Warning (warn-text) 31 692 must-revalidate (cache directive) 23 693 694 NEW: 695 696 H 697 Heuristic Expiration (warn-text) 31 698 heuristic expiration time 11 699 M 700 max-age (cache directive) 22, 26 701 max-stale (cache directive) 22 702 min-fresh (cache directive) 22 703 Miscellaneous Persistent Warning (warn-text) 32 704 Miscellaneous Warning (warn-text) 32 705 must-revalidate (cache directive) 24 706 707 708 Section 1.2, paragraph 27: 709 OLD: 710 711 N 712 no-cache (cache directive) 22, 24 713 no-store (cache directive) 22, 24 714 no-transform (cache directive) 23, 25 715 716 NEW: 717 718 N 719 no-cache (cache directive) 23, 25 720 no-store (cache directive) 23, 24 721 no-transform (cache directive) 23, 25 722 723 724 Section 1.2, paragraph 29: 725 OLD: 726 727 P 728 Pragma header field 28 729 private (cache directive) 25 730 private cache 4 731 proxy-revalidate (cache directive) 26 732 public (cache directive) 25 733 734 NEW: 735 736 P 737 Pragma header field 29 738 private (cache directive) 25 739 private cache 4 740 proxy-revalidate (cache directive) 26 741 public (cache directive) 25 742 743 744 Section 1.2, paragraph 31: 745 OLD: 746 747 S 748 s-maxage (cache directive) 26 749 shared cache 4 750 stale 10 751 strong validator 18 752 753 NEW: 754 755 S 756 s-maxage (cache directive) 27 757 shared cache 4 758 stale 11 759 strong validator 18 760 761 762 Section 1.2, paragraph 32: 763 OLD: 764 765 T 766 Transformation Applied (warn-text) 31 767 768 NEW: 769 770 T 771 Transformation Applied (warn-text) 32 772 773 774 Section 1.2, paragraph 33: 775 OLD: 776 777 V 778 validator 15 779 780 NEW: 781 782 V 783 validator 16 784 -
draft-ietf-httpbis/latest/auth48/rfc7234.diff.html
r2712 r2718 185 185 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 186 186 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 187 <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 11, line 41</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 12, line 8</em></th><td></td></tr> 187 <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 23</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 8, line 26</em></th><td></td></tr> 188 <tr><td class="lineno" valign="top"></td><td class="left"> Range specifiers ([RFC7233]). After several such transfers, a cache</td><td> </td><td class="right"> Range specifiers ([RFC7233]). After several such transfers, a cache</td><td class="lineno" valign="top"></td></tr> 189 <tr><td class="lineno" valign="top"></td><td class="left"> might have received several ranges of the same representation. A</td><td> </td><td class="right"> might have received several ranges of the same representation. A</td><td class="lineno" valign="top"></td></tr> 190 <tr><td class="lineno" valign="top"></td><td class="left"> cache MAY combine these ranges into a single stored response, and</td><td> </td><td class="right"> cache MAY combine these ranges into a single stored response, and</td><td class="lineno" valign="top"></td></tr> 191 <tr><td class="lineno" valign="top"></td><td class="left"> reuse that response to satisfy later requests, if they all share the</td><td> </td><td class="right"> reuse that response to satisfy later requests, if they all share the</td><td class="lineno" valign="top"></td></tr> 192 <tr><td class="lineno" valign="top"></td><td class="left"> same strong validator and the cache complies with the client</td><td> </td><td class="right"> same strong validator and the cache complies with the client</td><td class="lineno" valign="top"></td></tr> 193 <tr><td class="lineno" valign="top"></td><td class="left"> requirements in Section 4.3 of [RFC7233].</td><td> </td><td class="right"> requirements in Section 4.3 of [RFC7233].</td><td class="lineno" valign="top"></td></tr> 194 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 195 <tr><td class="lineno" valign="top"></td><td class="left"> When combining the new response with one or more stored responses, a</td><td> </td><td class="right"> When combining the new response with one or more stored responses, a</td><td class="lineno" valign="top"></td></tr> 196 <tr><td class="lineno" valign="top"></td><td class="left"> cache MUST:</td><td> </td><td class="right"> cache MUST:</td><td class="lineno" valign="top"></td></tr> 197 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 198 <tr><td><a name="diff0004" /></td></tr> 199 <tr><td class="lineno" valign="top"></td><td class="lblock"> o delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock"> o delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr> 200 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock"> <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr> 201 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 202 <tr><td><a name="diff0005" /></td></tr> 203 <tr><td class="lineno" valign="top"></td><td class="lblock"> o retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock"> o retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr> 204 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> code</span> 2xx; and,</td><td> </td><td class="rblock"> <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr> 205 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 206 <tr><td class="lineno" valign="top"></td><td class="left"> o use other header fields provided in the new response, aside from</td><td> </td><td class="right"> o use other header fields provided in the new response, aside from</td><td class="lineno" valign="top"></td></tr> 207 <tr><td class="lineno" valign="top"></td><td class="left"> Content-Range, to replace all instances of the corresponding</td><td> </td><td class="right"> Content-Range, to replace all instances of the corresponding</td><td class="lineno" valign="top"></td></tr> 208 <tr><td class="lineno" valign="top"></td><td class="left"> header fields in the stored response.</td><td> </td><td class="right"> header fields in the stored response.</td><td class="lineno" valign="top"></td></tr> 209 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 210 <tr><td class="lineno" valign="top"></td><td class="left">4. Constructing Responses from Caches</td><td> </td><td class="right">4. Constructing Responses from Caches</td><td class="lineno" valign="top"></td></tr> 211 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 212 <tr><td class="lineno" valign="top"></td><td class="left"> When presented with a request, a cache MUST NOT reuse a stored</td><td> </td><td class="right"> When presented with a request, a cache MUST NOT reuse a stored</td><td class="lineno" valign="top"></td></tr> 213 <tr><td class="lineno" valign="top"></td><td class="left"> response, unless:</td><td> </td><td class="right"> response, unless:</td><td class="lineno" valign="top"></td></tr> 214 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 215 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 216 <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 11, line 41</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 12, line 8</em></th><td></td></tr> 188 217 <tr><td class="lineno" valign="top"></td><td class="left"> freshness_lifetime is defined in Section 4.2.1; current_age is</td><td> </td><td class="right"> freshness_lifetime is defined in Section 4.2.1; current_age is</td><td class="lineno" valign="top"></td></tr> 189 218 <tr><td class="lineno" valign="top"></td><td class="left"> defined in Section 4.2.3.</td><td> </td><td class="right"> defined in Section 4.2.3.</td><td class="lineno" valign="top"></td></tr> … … 196 225 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 197 226 <tr><td class="lineno" valign="top"></td><td class="left"> o Although all date formats are specified to be case-sensitive, a</td><td> </td><td class="right"> o Although all date formats are specified to be case-sensitive, a</td><td class="lineno" valign="top"></td></tr> 198 <tr><td><a name="diff000 4" /></td></tr>227 <tr><td><a name="diff0006" /></td></tr> 199 228 <tr><td class="lineno" valign="top"></td><td class="lblock"> cache recipient SHOULD match day, week, and time-zone names <span class="delete">case-</span></td><td> </td><td class="rblock"> cache recipient SHOULD match day, week, and time-zone names</td><td class="lineno" valign="top"></td></tr> 200 229 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> insensitively.</span></td><td> </td><td class="rblock"> <span class="insert">case-insensitively.</span></td><td class="lineno" valign="top"></td></tr> … … 210 239 <tr><td class="lineno" valign="top"></td><td class="left"> o A cache recipient SHOULD consider a date with a zone abbreviation</td><td> </td><td class="right"> o A cache recipient SHOULD consider a date with a zone abbreviation</td><td class="lineno" valign="top"></td></tr> 211 240 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 212 <tr bgcolor="gray" ><td></td><th><a name="part-l 5" /><small>skipping to change at</small><em> page 15, line 22</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 15, line 40</em></th><td></td></tr>241 <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 15, line 22</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 15, line 40</em></th><td></td></tr> 213 242 <tr><td class="lineno" valign="top"></td><td class="left"> according to the calculations in Section 4.2.</td><td> </td><td class="right"> according to the calculations in Section 4.2.</td><td class="lineno" valign="top"></td></tr> 214 243 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 221 250 <tr><td class="lineno" valign="top"></td><td class="left"> A cache MUST NOT send stale responses unless it is disconnected</td><td> </td><td class="right"> A cache MUST NOT send stale responses unless it is disconnected</td><td class="lineno" valign="top"></td></tr> 222 251 <tr><td class="lineno" valign="top"></td><td class="left"> (i.e., it cannot contact the origin server or otherwise find a</td><td> </td><td class="right"> (i.e., it cannot contact the origin server or otherwise find a</td><td class="lineno" valign="top"></td></tr> 223 <tr><td><a name="diff000 5" /></td></tr>252 <tr><td><a name="diff0007" /></td></tr> 224 253 <tr><td class="lineno" valign="top"></td><td class="lblock"> forward path) or doing so is explicitly allowed (e.g., by the <span class="delete">max-</span></td><td> </td><td class="rblock"> forward path) or doing so is explicitly allowed (e.g., by the</td><td class="lineno" valign="top"></td></tr> 225 254 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> stale</span> request directive; see Section 5.2.1).</td><td> </td><td class="rblock"> <span class="insert">max-stale</span> request directive; see Section 5.2.1).</td><td class="lineno" valign="top"></td></tr> … … 235 264 <tr><td class="lineno" valign="top"></td><td class="left"> that merely became stale in transit.</td><td> </td><td class="right"> that merely became stale in transit.</td><td class="lineno" valign="top"></td></tr> 236 265 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 237 <tr bgcolor="gray" ><td></td><th><a name="part-l 6" /><small>skipping to change at</small><em> page 16, line 6</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 16, line 25</em></th><td></td></tr>266 <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 16, line 6</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 16, line 25</em></th><td></td></tr> 238 267 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 239 268 <tr><td class="lineno" valign="top"></td><td class="left">4.3.1. Sending a Validation Request</td><td> </td><td class="right">4.3.1. Sending a Validation Request</td><td class="lineno" valign="top"></td></tr> … … 246 275 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 247 276 <tr><td class="lineno" valign="top"></td><td class="left"> One such validator is the timestamp given in a Last-Modified header</td><td> </td><td class="right"> One such validator is the timestamp given in a Last-Modified header</td><td class="lineno" valign="top"></td></tr> 248 <tr><td><a name="diff000 6" /></td></tr>277 <tr><td><a name="diff0008" /></td></tr> 249 278 <tr><td class="lineno" valign="top"></td><td class="lblock"> field (Section 2.2 of [RFC7232]), which can be used in an <span class="delete">If-</span></td><td> </td><td class="rblock"> field (Section 2.2 of [RFC7232]), which can be used in an</td><td class="lineno" valign="top"></td></tr> 250 279 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified-Since</span> header field for response validation, or in an <span class="delete">If-</span></td><td> </td><td class="rblock"> <span class="insert">If-Modified-Since</span> header field for response validation, or in an</td><td class="lineno" valign="top"></td></tr> … … 261 290 <tr><td class="lineno" valign="top"></td><td class="left"> the listed entity-tags).</td><td> </td><td class="right"> the listed entity-tags).</td><td class="lineno" valign="top"></td></tr> 262 291 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 263 <tr bgcolor="gray" ><td></td><th><a name="part-l 7" /><small>skipping to change at</small><em> page 16, line 42</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 17, line 12</em></th><td></td></tr>292 <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 16, line 42</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 12</em></th><td></td></tr> 264 293 <tr><td class="lineno" valign="top"></td><td class="left"> received in that request with respect to the corresponding validators</td><td> </td><td class="right"> received in that request with respect to the corresponding validators</td><td class="lineno" valign="top"></td></tr> 265 294 <tr><td class="lineno" valign="top"></td><td class="left"> contained within the selected response. A cache MUST NOT evaluate</td><td> </td><td class="right"> contained within the selected response. A cache MUST NOT evaluate</td><td class="lineno" valign="top"></td></tr> … … 272 301 <tr><td class="lineno" valign="top"></td><td class="left"> The proper evaluation of conditional requests by a cache depends on</td><td> </td><td class="right"> The proper evaluation of conditional requests by a cache depends on</td><td class="lineno" valign="top"></td></tr> 273 302 <tr><td class="lineno" valign="top"></td><td class="left"> the received precondition header fields and their precedence, as</td><td> </td><td class="right"> the received precondition header fields and their precedence, as</td><td class="lineno" valign="top"></td></tr> 274 <tr><td><a name="diff000 7" /></td></tr>303 <tr><td><a name="diff0009" /></td></tr> 275 304 <tr><td class="lineno" valign="top"></td><td class="lblock"> defined in Section 6 of [RFC7232]. The If-Match and <span class="delete">If-Unmodified-</span></td><td> </td><td class="rblock"> defined in Section 6 of [RFC7232]. The If-Match and</td><td class="lineno" valign="top"></td></tr> 276 305 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Since</span> conditional header fields are not applicable to a cache.</td><td> </td><td class="rblock"> <span class="insert">If-Unmodified-Since</span> conditional header fields are not applicable to a</td><td class="lineno" valign="top"></td></tr> … … 287 316 <tr><td class="lineno" valign="top"></td><td class="left"> response.</td><td> </td><td class="right"> response.</td><td class="lineno" valign="top"></td></tr> 288 317 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 289 <tr bgcolor="gray" ><td></td><th><a name="part-l 8" /><small>skipping to change at</small><em> page 17, line 28</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 48</em></th><td></td></tr>318 <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 17, line 28</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 17, line 48</em></th><td></td></tr> 290 319 <tr><td class="lineno" valign="top"></td><td class="left"> corresponding stored response, as updated by the 304 response</td><td> </td><td class="right"> corresponding stored response, as updated by the 304 response</td><td class="lineno" valign="top"></td></tr> 291 320 <tr><td class="lineno" valign="top"></td><td class="left"> metadata (Section 4.3.4).</td><td> </td><td class="right"> metadata (Section 4.3.4).</td><td class="lineno" valign="top"></td></tr> … … 298 327 <tr><td class="lineno" valign="top"></td><td class="left"> selected stored response) if one of the following cases is true: 1)</td><td> </td><td class="right"> selected stored response) if one of the following cases is true: 1)</td><td class="lineno" valign="top"></td></tr> 299 328 <tr><td class="lineno" valign="top"></td><td class="left"> the selected stored response has a Last-Modified field-value that is</td><td> </td><td class="right"> the selected stored response has a Last-Modified field-value that is</td><td class="lineno" valign="top"></td></tr> 300 <tr><td><a name="diff00 08" /></td></tr>329 <tr><td><a name="diff0010" /></td></tr> 301 330 <tr><td class="lineno" valign="top"></td><td class="lblock"> earlier than or equal to the conditional timestamp; 2) no <span class="delete">Last-</span></td><td> </td><td class="rblock"> earlier than or equal to the conditional timestamp; 2) no</td><td class="lineno" valign="top"></td></tr> 302 331 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Modified</span> field is present in the selected stored response, but it has</td><td> </td><td class="rblock"> <span class="insert">Last-Modified</span> field is present in the selected stored response, but</td><td class="lineno" valign="top"></td></tr> … … 317 346 <tr><td class="lineno" valign="top"></td><td class="left"> upon its status code:</td><td> </td><td class="right"> upon its status code:</td><td class="lineno" valign="top"></td></tr> 318 347 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 319 <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 19, line 23</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 19, line 46</em></th><td></td></tr> 348 <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 43</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 19, line 18</em></th><td></td></tr> 349 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 350 <tr><td class="lineno" valign="top"></td><td class="left"> o If the new response does not include any form of validator (such</td><td> </td><td class="right"> o If the new response does not include any form of validator (such</td><td class="lineno" valign="top"></td></tr> 351 <tr><td class="lineno" valign="top"></td><td class="left"> as in the case where a client generates an If-Modified-Since</td><td> </td><td class="right"> as in the case where a client generates an If-Modified-Since</td><td class="lineno" valign="top"></td></tr> 352 <tr><td class="lineno" valign="top"></td><td class="left"> request from a source other than the Last-Modified response header</td><td> </td><td class="right"> request from a source other than the Last-Modified response header</td><td class="lineno" valign="top"></td></tr> 353 <tr><td class="lineno" valign="top"></td><td class="left"> field), and there is only one stored response, and that stored</td><td> </td><td class="right"> field), and there is only one stored response, and that stored</td><td class="lineno" valign="top"></td></tr> 354 <tr><td class="lineno" valign="top"></td><td class="left"> response also lacks a validator, then that stored response is</td><td> </td><td class="right"> response also lacks a validator, then that stored response is</td><td class="lineno" valign="top"></td></tr> 355 <tr><td class="lineno" valign="top"></td><td class="left"> selected for update.</td><td> </td><td class="right"> selected for update.</td><td class="lineno" valign="top"></td></tr> 356 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 357 <tr><td class="lineno" valign="top"></td><td class="left"> If a stored response is selected for update, the cache MUST:</td><td> </td><td class="right"> If a stored response is selected for update, the cache MUST:</td><td class="lineno" valign="top"></td></tr> 358 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 359 <tr><td><a name="diff0011" /></td></tr> 360 <tr><td class="lineno" valign="top"></td><td class="lblock"> o delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock"> o delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr> 361 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock"> <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr> 362 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 363 <tr><td><a name="diff0012" /></td></tr> 364 <tr><td class="lineno" valign="top"></td><td class="lblock"> o retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock"> o retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr> 365 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> code</span> 2xx; and,</td><td> </td><td class="rblock"> <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr> 366 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 367 <tr><td class="lineno" valign="top"></td><td class="left"> o use other header fields provided in the 304 (Not Modified)</td><td> </td><td class="right"> o use other header fields provided in the 304 (Not Modified)</td><td class="lineno" valign="top"></td></tr> 368 <tr><td class="lineno" valign="top"></td><td class="left"> response to replace all instances of the corresponding header</td><td> </td><td class="right"> response to replace all instances of the corresponding header</td><td class="lineno" valign="top"></td></tr> 369 <tr><td class="lineno" valign="top"></td><td class="left"> fields in the stored response.</td><td> </td><td class="right"> fields in the stored response.</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 class="lineno" valign="top"></td><td class="left">4.3.5. Freshening Responses via HEAD</td><td> </td><td class="right">4.3.5. Freshening Responses via HEAD</td><td class="lineno" valign="top"></td></tr> 372 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 373 <tr><td class="lineno" valign="top"></td><td class="left"> A response to the HEAD method is identical to what an equivalent</td><td> </td><td class="right"> A response to the HEAD method is identical to what an equivalent</td><td class="lineno" valign="top"></td></tr> 374 <tr><td class="lineno" valign="top"></td><td class="left"> request made with a GET would have been, except it lacks a body.</td><td> </td><td class="right"> request made with a GET would have been, except it lacks a body.</td><td class="lineno" valign="top"></td></tr> 375 <tr><td class="lineno" valign="top"></td><td class="left"> This property of HEAD responses can be used to invalidate or update a</td><td> </td><td class="right"> This property of HEAD responses can be used to invalidate or update a</td><td class="lineno" valign="top"></td></tr> 376 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 377 <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 23</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 19, line 46</em></th><td></td></tr> 320 378 <tr><td class="lineno" valign="top"></td><td class="left"> desired even if it has changed.</td><td> </td><td class="right"> desired even if it has changed.</td><td class="lineno" valign="top"></td></tr> 321 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> … … 328 386 <tr><td class="lineno" valign="top"></td><td class="left"> the stored response and HEAD response have matching values for any</td><td> </td><td class="right"> the stored response and HEAD response have matching values for any</td><td class="lineno" valign="top"></td></tr> 329 387 <tr><td class="lineno" valign="top"></td><td class="left"> received validator fields (ETag and Last-Modified) and, if the HEAD</td><td> </td><td class="right"> received validator fields (ETag and Last-Modified) and, if the HEAD</td><td class="lineno" valign="top"></td></tr> 330 <tr><td><a name="diff00 09" /></td></tr>388 <tr><td><a name="diff0013" /></td></tr> 331 389 <tr><td class="lineno" valign="top"></td><td class="lblock"> response has a Content-Length header field, the value of <span class="delete">Content-</span></td><td> </td><td class="rblock"> response has a Content-Length header field, the value of</td><td class="lineno" valign="top"></td></tr> 332 390 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Length</span> matches that of the stored response, the cache SHOULD update</td><td> </td><td class="rblock"> <span class="insert">Content-Length</span> matches that of the stored response, the cache SHOULD</td><td class="lineno" valign="top"></td></tr> … … 337 395 <tr><td class="lineno" valign="top"></td><td class="left"> HEAD response, the cache MUST:</td><td> </td><td class="right"> HEAD response, the cache MUST:</td><td class="lineno" valign="top"></td></tr> 338 396 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 339 <tr><td class="lineno" valign="top"></td><td class="left"> o delete any Warning header fields in the stored response with warn-</td><td> </td><td class="right"> o delete any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr> 340 <tr><td class="lineno" valign="top"></td><td class="left"> code 1xx (see Section 5.5);</td><td> </td><td class="right"> code 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr> 341 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 342 <tr><td class="lineno" valign="top"></td><td class="left"> o retain any Warning header fields in the stored response with warn-</td><td> </td><td class="right"> o retain any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr> 343 <tr><td class="lineno" valign="top"></td><td class="left"> code 2xx; and,</td><td> </td><td class="right"> code 2xx; and,</td><td class="lineno" valign="top"></td></tr> 344 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 345 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 346 <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 21, line 24</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 21, line 47</em></th><td></td></tr> 397 <tr><td><a name="diff0014" /></td></tr> 398 <tr><td class="lineno" valign="top"></td><td class="lblock"> o delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock"> o delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr> 399 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock"> <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr> 400 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 401 <tr><td><a name="diff0015" /></td></tr> 402 <tr><td class="lineno" valign="top"></td><td class="lblock"> o retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock"> o retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr> 403 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> code</span> 2xx; and,</td><td> </td><td class="rblock"> <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr> 404 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 405 <tr><td class="lineno" valign="top"></td><td class="left"> o use other header fields provided in the HEAD response to replace</td><td> </td><td class="right"> o use other header fields provided in the HEAD response to replace</td><td class="lineno" valign="top"></td></tr> 406 <tr><td class="lineno" valign="top"></td><td class="left"> all instances of the corresponding header fields in the stored</td><td> </td><td class="right"> all instances of the corresponding header fields in the stored</td><td class="lineno" valign="top"></td></tr> 407 <tr><td class="lineno" valign="top"></td><td class="left"> response and append new header fields to the stored response's</td><td> </td><td class="right"> response and append new header fields to the stored response's</td><td class="lineno" valign="top"></td></tr> 408 <tr><td class="lineno" valign="top"></td><td class="left"> header section unless otherwise restricted by the Cache-Control</td><td> </td><td class="right"> header section unless otherwise restricted by the Cache-Control</td><td class="lineno" valign="top"></td></tr> 409 <tr><td class="lineno" valign="top"></td><td class="left"> header field.</td><td> </td><td class="right"> header field.</td><td class="lineno" valign="top"></td></tr> 410 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 411 <tr><td class="lineno" valign="top"></td><td class="left">4.4. Invalidation</td><td> </td><td class="right">4.4. Invalidation</td><td class="lineno" valign="top"></td></tr> 412 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 413 <tr><td class="lineno" valign="top"></td><td class="left"> Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td> </td><td class="right"> Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td class="lineno" valign="top"></td></tr> 414 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 415 <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 21, line 24</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 47</em></th><td></td></tr> 347 416 <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control directives defined elsewhere are handled.</td><td> </td><td class="right"> Cache-Control directives defined elsewhere are handled.</td><td class="lineno" valign="top"></td></tr> 348 417 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 355 424 <tr><td class="lineno" valign="top"></td><td class="left"> not possible to target a directive to a specific cache.</td><td> </td><td class="right"> not possible to target a directive to a specific cache.</td><td class="lineno" valign="top"></td></tr> 356 425 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 357 <tr><td><a name="diff001 0" /></td></tr>426 <tr><td><a name="diff0016" /></td></tr> 358 427 <tr><td class="lineno" valign="top"></td><td class="lblock"> Cache directives are identified by a token, to be compared <span class="delete">case-</span></td><td> </td><td class="rblock"> Cache directives are identified by a token, to be compared</td><td class="lineno" valign="top"></td></tr> 359 428 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> insensitively,</span> and have an optional argument, that can use both token</td><td> </td><td class="rblock"> <span class="insert">case-insensitively,</span> and have an optional argument, that can use both</td><td class="lineno" valign="top"></td></tr> … … 373 442 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 374 443 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 375 <tr bgcolor="gray" ><td></td><th><a name="part-l1 1" /><small>skipping to change at</small><em> page 23, line 5</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 23, line 27</em></th><td></td></tr>444 <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 23, line 5</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 23, line 27</em></th><td></td></tr> 376 445 <tr><td class="lineno" valign="top"></td><td class="left"> The "no-cache" request directive indicates that a cache MUST NOT use</td><td> </td><td class="right"> The "no-cache" request directive indicates that a cache MUST NOT use</td><td class="lineno" valign="top"></td></tr> 377 446 <tr><td class="lineno" valign="top"></td><td class="left"> a stored response to satisfy the request without successful</td><td> </td><td class="right"> a stored response to satisfy the request without successful</td><td class="lineno" valign="top"></td></tr> … … 384 453 <tr><td class="lineno" valign="top"></td><td class="left"> directive applies to both private and shared caches. "MUST NOT</td><td> </td><td class="right"> directive applies to both private and shared caches. "MUST NOT</td><td class="lineno" valign="top"></td></tr> 385 454 <tr><td class="lineno" valign="top"></td><td class="left"> store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right"> store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr> 386 <tr><td><a name="diff001 1" /></td></tr>455 <tr><td><a name="diff0017" /></td></tr> 387 456 <tr><td class="lineno" valign="top"></td><td class="lblock"> store the information in non-volatile storage, and MUST make a <span class="delete">best-</span></td><td> </td><td class="rblock"> store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr> 388 457 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> effort</span> attempt to remove the information from volatile storage as</td><td> </td><td class="rblock"> <span class="insert">best-effort</span> attempt to remove the information from volatile storage</td><td class="lineno" valign="top"></td></tr> … … 399 468 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 400 469 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 401 <tr bgcolor="gray" ><td></td><th><a name="part-l1 2" /><small>skipping to change at</small><em> page 24, line 34</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 25, line 10</em></th><td></td></tr>470 <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 24, line 34</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 25, line 10</em></th><td></td></tr> 402 471 <tr><td class="lineno" valign="top"></td><td class="left"> still allowing caching of the rest of the response.</td><td> </td><td class="right"> still allowing caching of the rest of the response.</td><td class="lineno" valign="top"></td></tr> 403 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> … … 410 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> 411 480 <tr><td class="lineno" valign="top"></td><td class="left"> Note: Although it has been back-ported to many implementations, some</td><td> </td><td class="right"> Note: Although it has been back-ported to many implementations, some</td><td class="lineno" valign="top"></td></tr> 412 <tr><td><a name="diff001 2" /></td></tr>481 <tr><td><a name="diff0018" /></td></tr> 413 482 <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP/1.0 caches will not recognize or obey this directive. Also, <span class="delete">no-</span></td><td> </td><td class="rblock"> HTTP/1.0 caches will not recognize or obey this directive. Also,</td><td class="lineno" valign="top"></td></tr> 414 483 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> cache</span> response directives with field-names are often handled by</td><td> </td><td class="rblock"> <span class="insert">no-cache</span> response directives with field-names are often handled by</td><td class="lineno" valign="top"></td></tr> … … 423 492 <tr><td class="lineno" valign="top"></td><td class="left"> directive applies to both private and shared caches. "MUST NOT</td><td> </td><td class="right"> directive applies to both private and shared caches. "MUST NOT</td><td class="lineno" valign="top"></td></tr> 424 493 <tr><td class="lineno" valign="top"></td><td class="left"> store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right"> store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr> 425 <tr><td><a name="diff001 3" /></td></tr>494 <tr><td><a name="diff0019" /></td></tr> 426 495 <tr><td class="lineno" valign="top"></td><td class="lblock"> store the information in non-volatile storage, and MUST make a <span class="delete">best-</span></td><td> </td><td class="rblock"> store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr> 427 496 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> effort</span> attempt to remove the information from volatile storage as</td><td> </td><td class="rblock"> <span class="insert">best-effort</span> attempt to remove the information from volatile storage</td><td class="lineno" valign="top"></td></tr> … … 438 507 <tr><td class="lineno" valign="top"></td><td class="left"> (regardless of whether it implements a cache) MUST NOT transform the</td><td> </td><td class="right"> (regardless of whether it implements a cache) MUST NOT transform the</td><td class="lineno" valign="top"></td></tr> 439 508 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 440 <tr bgcolor="gray" ><td></td><th><a name="part-l1 3" /><small>skipping to change at</small><em> page 30, line 38</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 31, line 23</em></th><td></td></tr>509 <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 30, line 38</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 31, line 23</em></th><td></td></tr> 441 510 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 442 511 <tr><td class="lineno" valign="top"></td><td class="left"> Warnings have accompanying warn-text that describes the error, e.g.,</td><td> </td><td class="right"> Warnings have accompanying warn-text that describes the error, e.g.,</td><td class="lineno" valign="top"></td></tr> … … 449 518 <tr><td class="lineno" valign="top"></td><td class="left"> containing that warn-date before storing, forwarding, or using the</td><td> </td><td class="right"> containing that warn-date before storing, forwarding, or using the</td><td class="lineno" valign="top"></td></tr> 450 519 <tr><td class="lineno" valign="top"></td><td class="left"> message. This allows recipients to exclude warning-values that were</td><td> </td><td class="right"> message. This allows recipients to exclude warning-values that were</td><td class="lineno" valign="top"></td></tr> 451 <tr><td><a name="diff00 14" /></td></tr>520 <tr><td><a name="diff0020" /></td></tr> 452 521 <tr><td class="lineno" valign="top"></td><td class="lblock"> improperly retained after a cache validation. If all of the <span class="delete">warning-</span></td><td> </td><td class="rblock"> improperly retained after a cache validation. If all of the</td><td class="lineno" valign="top"></td></tr> 453 522 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> values</span> are excluded, the recipient MUST exclude the Warning header</td><td> </td><td class="rblock"> <span class="insert">warning-values</span> are excluded, the recipient MUST exclude the Warning</td><td class="lineno" valign="top"></td></tr> … … 464 533 <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 534 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 466 <tr bgcolor="gray" ><td></td><th><a name="part-l1 4" /><small>skipping to change at</small><em> page 31, line 32</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 32, line 15</em></th><td></td></tr>535 <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 31, line 32</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 32, line 15</em></th><td></td></tr> 467 536 <tr><td class="lineno" valign="top"></td><td class="left">5.5.5. Warning: 199 - "Miscellaneous Warning"</td><td> </td><td class="right">5.5.5. Warning: 199 - "Miscellaneous Warning"</td><td class="lineno" valign="top"></td></tr> 468 537 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 475 544 <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 545 <tr><td class="lineno" valign="top"></td><td class="left"> This Warning code MUST be added by a proxy if it applies any</td><td> </td><td class="right"> This Warning code MUST be added by a proxy if it applies any</td><td class="lineno" valign="top"></td></tr> 477 <tr><td><a name="diff00 15" /></td></tr>546 <tr><td><a name="diff0021" /></td></tr> 478 547 <tr><td class="lineno" valign="top"></td><td class="lblock"> transformation to the representation, such as changing the <span class="delete">content-</span></td><td> </td><td class="rblock"> transformation to the representation, such as changing the</td><td class="lineno" valign="top"></td></tr> 479 548 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> coding,</span> media-type, or modifying the representation data, unless this</td><td> </td><td class="rblock"> <span class="insert">content-coding,</span> media-type, or modifying the representation data,</td><td class="lineno" valign="top"></td></tr> … … 490 559 <tr><td class="lineno" valign="top"></td><td class="left"> User agents often have history mechanisms, such as "Back" buttons and</td><td> </td><td class="right"> User agents often have history mechanisms, such as "Back" buttons and</td><td class="lineno" valign="top"></td></tr> 491 560 <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> 492 <tr bgcolor="gray" ><td></td><th><a name="part-l1 5" /><small>skipping to change at</small><em> page 39, line 50</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 41, line 8</em></th><td></td></tr>561 <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 39, line 50</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 41, line 8</em></th><td></td></tr> 493 562 <tr><td class="lineno" valign="top"></td><td class="left"> warn-agent = ( uri-host [ ":" port ] ) / pseudonym</td><td> </td><td class="right"> warn-agent = ( uri-host [ ":" port ] ) / pseudonym</td><td class="lineno" valign="top"></td></tr> 494 563 <tr><td class="lineno" valign="top"></td><td class="left"> warn-code = 3DIGIT</td><td> </td><td class="right"> warn-code = 3DIGIT</td><td class="lineno" valign="top"></td></tr> … … 501 570 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 502 571 <tr><td class="lineno" valign="top"></td><td class="left"> 1</td><td> </td><td class="right"> 1</td><td class="lineno" valign="top"></td></tr> 503 <tr><td><a name="diff00 16" /></td></tr>572 <tr><td><a name="diff0022" /></td></tr> 504 573 <tr><td class="lineno" valign="top"></td><td class="lblock"> 110 (warn-code) 3<span class="delete">0</span></td><td> </td><td class="rblock"> 110 (warn-code) 3<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr> 505 574 <tr><td class="lineno" valign="top"></td><td class="left"> 111 (warn-code) 31</td><td> </td><td class="right"> 111 (warn-code) 31</td><td class="lineno" valign="top"></td></tr> 506 575 <tr><td class="lineno" valign="top"></td><td class="left"> 112 (warn-code) 31</td><td> </td><td class="right"> 112 (warn-code) 31</td><td class="lineno" valign="top"></td></tr> 507 576 <tr><td class="lineno" valign="top"></td><td class="left"> 113 (warn-code) 31</td><td> </td><td class="right"> 113 (warn-code) 31</td><td class="lineno" valign="top"></td></tr> 508 <tr><td><a name="diff00 17" /></td></tr>577 <tr><td><a name="diff0023" /></td></tr> 509 578 <tr><td class="lineno" valign="top"></td><td class="lblock"> 199 (warn-code) 3<span class="delete">1</span></td><td> </td><td class="rblock"> 199 (warn-code) 3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> 510 579 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 511 580 <tr><td class="lineno" valign="top"></td><td class="left"> 2</td><td> </td><td class="right"> 2</td><td class="lineno" valign="top"></td></tr> 512 <tr><td><a name="diff00 18" /></td></tr>581 <tr><td><a name="diff0024" /></td></tr> 513 582 <tr><td class="lineno" valign="top"></td><td class="lblock"> 214 (warn-code) <span class="delete">31</span></td><td> </td><td class="rblock"> 214 (warn-code) <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr> 514 583 <tr><td class="lineno" valign="top"></td><td class="lblock"> 299 (warn-code) <span class="delete">31</span></td><td> </td><td class="rblock"> 299 (warn-code) <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr> 515 584 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 516 585 <tr><td class="lineno" valign="top"></td><td class="left"> A</td><td> </td><td class="right"> A</td><td class="lineno" valign="top"></td></tr> 517 <tr><td><a name="diff00 19" /></td></tr>586 <tr><td><a name="diff0025" /></td></tr> 518 587 <tr><td class="lineno" valign="top"></td><td class="lblock"> age <span class="delete">10</span></td><td> </td><td class="rblock"> age <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr> 519 588 <tr><td class="lineno" valign="top"></td><td class="lblock"> Age header field <span class="delete">20</span></td><td> </td><td class="rblock"> Age header field <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr> … … 529 598 <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 599 <tr><td class="lineno" valign="top"></td><td class="left"> E</td><td> </td><td class="right"> E</td><td class="lineno" valign="top"></td></tr> 531 <tr><td><a name="diff002 0" /></td></tr>600 <tr><td><a name="diff0026" /></td></tr> 532 601 <tr><td class="lineno" valign="top"></td><td class="lblock"> Expires header field <span class="delete">27</span></td><td> </td><td class="rblock"> Expires header field <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr> 533 602 <tr><td class="lineno" valign="top"></td><td class="lblock"> explicit expiration time <span class="delete">10</span></td><td> </td><td class="rblock"> explicit expiration time <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr> 534 603 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 535 604 <tr><td class="lineno" valign="top"></td><td class="left"> F</td><td> </td><td class="right"> F</td><td class="lineno" valign="top"></td></tr> 536 <tr><td><a name="diff002 1" /></td></tr>605 <tr><td><a name="diff0027" /></td></tr> 537 606 <tr><td class="lineno" valign="top"></td><td class="lblock"> fresh <span class="delete">10</span></td><td> </td><td class="rblock"> fresh <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr> 538 607 <tr><td class="lineno" valign="top"></td><td class="lblock"> freshness lifetime <span class="delete">10</span></td><td> </td><td class="rblock"> freshness lifetime <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr> … … 540 609 <tr><td class="lineno" valign="top"></td><td class="left"> G</td><td> </td><td class="right"> G</td><td class="lineno" valign="top"></td></tr> 541 610 <tr><td class="lineno" valign="top"></td><td class="left"> Grammar</td><td> </td><td class="right"> Grammar</td><td class="lineno" valign="top"></td></tr> 542 <tr><td><a name="diff002 2" /></td></tr>611 <tr><td><a name="diff0028" /></td></tr> 543 612 <tr><td class="lineno" valign="top"></td><td class="lblock"> Age <span class="delete">20</span></td><td> </td><td class="rblock"> Age 21</td><td class="lineno" valign="top"></td></tr> 544 613 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Cache-Control</span> 21</td><td> </td><td class="rblock"> <span class="insert">Cache-Control 22</span></td><td class="lineno" valign="top"></td></tr> 545 614 <tr><td class="lineno" valign="top"></td><td class="lblock"> cache-directive <span class="delete">21</span></td><td> </td><td class="rblock"> cache-directive <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr> 546 615 <tr><td class="lineno" valign="top"></td><td class="left"> delta-seconds 5</td><td> </td><td class="right"> delta-seconds 5</td><td class="lineno" valign="top"></td></tr> 547 <tr><td><a name="diff002 3" /></td></tr>616 <tr><td><a name="diff0029" /></td></tr> 548 617 <tr><td class="lineno" valign="top"></td><td class="lblock"> Expires <span class="delete">27</span></td><td> </td><td class="rblock"> Expires 28</td><td class="lineno" valign="top"></td></tr> 549 618 <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> extension-pragma</span> 28</td><td> </td><td class="rblock"> <span class="insert">extension-pragma 29</span></td><td class="lineno" valign="top"></td></tr> … … 559 628 <tr><td class="lineno" valign="top"></td><td class="left"> H</td><td> </td><td class="right"> H</td><td class="lineno" valign="top"></td></tr> 560 629 <tr><td class="lineno" valign="top"></td><td class="left"> Heuristic Expiration (warn-text) 31</td><td> </td><td class="right"> Heuristic Expiration (warn-text) 31</td><td class="lineno" valign="top"></td></tr> 561 <tr><td><a name="diff00 24" /></td></tr>630 <tr><td><a name="diff0030" /></td></tr> 562 631 <tr><td class="lineno" valign="top"></td><td class="lblock"> heuristic expiration time <span class="delete">10</span></td><td> </td><td class="rblock"> heuristic expiration time <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr> 563 632 <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> 564 633 <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> 565 <tr><td><a name="diff00 25" /></td></tr>634 <tr><td><a name="diff0031" /></td></tr> 566 635 <tr><td class="lineno" valign="top"></td><td class="lblock"> max-age (cache directive) 2<span class="delete">1</span>, 26</td><td> </td><td class="rblock"> max-age (cache directive) 2<span class="insert">2</span>, 26</td><td class="lineno" valign="top"></td></tr> 567 636 <tr><td class="lineno" valign="top"></td><td class="left"> max-stale (cache directive) 22</td><td> </td><td class="right"> max-stale (cache directive) 22</td><td class="lineno" valign="top"></td></tr> 568 637 <tr><td class="lineno" valign="top"></td><td class="left"> min-fresh (cache directive) 22</td><td> </td><td class="right"> min-fresh (cache directive) 22</td><td class="lineno" valign="top"></td></tr> 569 <tr><td><a name="diff00 26" /></td></tr>638 <tr><td><a name="diff0032" /></td></tr> 570 639 <tr><td class="lineno" valign="top"></td><td class="lblock"> Miscellaneous Persistent Warning (warn-text) <span class="delete">31</span></td><td> </td><td class="rblock"> Miscellaneous Persistent Warning (warn-text) <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr> 571 640 <tr><td class="lineno" valign="top"></td><td class="lblock"> Miscellaneous Warning (warn-text) <span class="delete">31</span></td><td> </td><td class="rblock"> Miscellaneous Warning (warn-text) <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr> … … 573 642 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 574 643 <tr><td class="lineno" valign="top"></td><td class="left"> N</td><td> </td><td class="right"> N</td><td class="lineno" valign="top"></td></tr> 575 <tr><td><a name="diff00 27" /></td></tr>644 <tr><td><a name="diff0033" /></td></tr> 576 645 <tr><td class="lineno" valign="top"></td><td class="lblock"> no-cache (cache directive) <span class="delete">22, 24</span></td><td> </td><td class="rblock"> no-cache (cache directive) <span class="insert">23, 25</span></td><td class="lineno" valign="top"></td></tr> 577 646 <tr><td class="lineno" valign="top"></td><td class="lblock"> no-store (cache directive) <span class="delete">22,</span> 24</td><td> </td><td class="rblock"> no-store (cache directive) <span class="insert">23,</span> 24</td><td class="lineno" valign="top"></td></tr> … … 582 651 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 583 652 <tr><td class="lineno" valign="top"></td><td class="left"> P</td><td> </td><td class="right"> P</td><td class="lineno" valign="top"></td></tr> 584 <tr><td><a name="diff00 28" /></td></tr>653 <tr><td><a name="diff0034" /></td></tr> 585 654 <tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma header field 2<span class="delete">8</span></td><td> </td><td class="rblock"> Pragma header field 2<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr> 586 655 <tr><td class="lineno" valign="top"></td><td class="left"> private (cache directive) 25</td><td> </td><td class="right"> private (cache directive) 25</td><td class="lineno" valign="top"></td></tr> … … 594 663 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 595 664 <tr><td class="lineno" valign="top"></td><td class="left"> S</td><td> </td><td class="right"> S</td><td class="lineno" valign="top"></td></tr> 596 <tr><td><a name="diff00 29" /></td></tr>665 <tr><td><a name="diff0035" /></td></tr> 597 666 <tr><td class="lineno" valign="top"></td><td class="lblock"> s-maxage (cache directive) 2<span class="delete">6</span></td><td> </td><td class="rblock"> s-maxage (cache directive) 2<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> 598 667 <tr><td class="lineno" valign="top"></td><td class="left"> shared cache 4</td><td> </td><td class="right"> shared cache 4</td><td class="lineno" valign="top"></td></tr> 599 <tr><td><a name="diff003 0" /></td></tr>668 <tr><td><a name="diff0036" /></td></tr> 600 669 <tr><td class="lineno" valign="top"></td><td class="lblock"> stale 1<span class="delete">0</span></td><td> </td><td class="rblock"> stale 1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr> 601 670 <tr><td class="lineno" valign="top"></td><td class="left"> strong validator 18</td><td> </td><td class="right"> strong validator 18</td><td class="lineno" valign="top"></td></tr> 602 671 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 603 672 <tr><td class="lineno" valign="top"></td><td class="left"> T</td><td> </td><td class="right"> T</td><td class="lineno" valign="top"></td></tr> 604 <tr><td><a name="diff003 1" /></td></tr>673 <tr><td><a name="diff0037" /></td></tr> 605 674 <tr><td class="lineno" valign="top"></td><td class="lblock"> Transformation Applied (warn-text) 3<span class="delete">1</span></td><td> </td><td class="rblock"> Transformation Applied (warn-text) 3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> 606 675 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> 607 676 <tr><td class="lineno" valign="top"></td><td class="left"> V</td><td> </td><td class="right"> V</td><td class="lineno" valign="top"></td></tr> 608 <tr><td><a name="diff003 2" /></td></tr>677 <tr><td><a name="diff0038" /></td></tr> 609 678 <tr><td class="lineno" valign="top"></td><td class="lblock"> validator 1<span class="delete">5</span></td><td> </td><td class="rblock"> validator 1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr> 610 679 <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> … … 620 689 621 690 <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> 622 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 3 2change blocks. </a></th></tr>623 <tr class="stats"><td></td><th><i>1 48 lines changed or deleted</i></th><th><i> </i></th><th><i>134lines changed or added</i></th><td></td></tr>691 <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 38 change blocks. </a></th></tr> 692 <tr class="stats"><td></td><th><i>160 lines changed or deleted</i></th><th><i> </i></th><th><i>146 lines changed or added</i></th><td></td></tr> 624 693 <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr> 625 694 </table> -
draft-ietf-httpbis/latest/auth48/rfc7234.txt
r2712 r2718 425 425 cache MUST: 426 426 427 o delete any Warning header fields in the stored response with warn-428 code 1xx (see Section 5.5);429 430 o retain any Warning header fields in the stored response with warn-431 code 2xx; and,427 o delete any Warning header fields in the stored response with 428 warn-code 1xx (see Section 5.5); 429 430 o retain any Warning header fields in the stored response with 431 warn-code 2xx; and, 432 432 433 433 o use other header fields provided in the new response, aside from … … 1044 1044 If a stored response is selected for update, the cache MUST: 1045 1045 1046 o delete any Warning header fields in the stored response with warn-1047 code 1xx (see Section 5.5);1048 1049 o retain any Warning header fields in the stored response with warn-1050 code 2xx; and,1046 o delete any Warning header fields in the stored response with 1047 warn-code 1xx (see Section 5.5); 1048 1049 o retain any Warning header fields in the stored response with 1050 warn-code 2xx; and, 1051 1051 1052 1052 o use other header fields provided in the 304 (Not Modified) … … 1091 1091 HEAD response, the cache MUST: 1092 1092 1093 o delete any Warning header fields in the stored response with warn-1094 code 1xx (see Section 5.5);1095 1096 o retain any Warning header fields in the stored response with warn-1097 code 2xx; and,1093 o delete any Warning header fields in the stored response with 1094 warn-code 1xx (see Section 5.5); 1095 1096 o retain any Warning header fields in the stored response with 1097 warn-code 2xx; and, 1098 1098 1099 1099 o use other header fields provided in the HEAD response to replace
Note: See TracChangeset
for help on using the changeset viewer.