Changeset 866 for draft-ietf-httpbis/latest/p5-range.xml
- Timestamp:
- 22/07/10 09:06:27 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p5-range.xml
r863 r866 419 419 </t> 420 420 <t> 421 If a cache has a stored non-empty set of subranges for a n entity, and421 If a cache has a stored non-empty set of subranges for a representation, and 422 422 an incoming response transfers another subrange, the cache &MAY; 423 423 combine the new subrange with the existing set if both the following … … 445 445 <t> 446 446 For entity-header fields, both sender and recipient refer to either the 447 client or the server, depending on who sends and who receives the entity.447 client or the server, depending on who sends and who receives the message. 448 448 </t> 449 449 … … 549 549 </t> 550 550 <t> 551 Examples of byte-content-range-spec values, assuming that the entity551 Examples of byte-content-range-spec values, assuming that the representation 552 552 contains a total of 1234 bytes: 553 553 <list style="symbols"> … … 647 647 could use the Range request-header with a conditional GET (using 648 648 either or both of If-Unmodified-Since and If-Match.) However, if the 649 condition fails because the entityhas been modified, the client649 condition fails because the representation has been modified, the client 650 650 would then have to make a second request to obtain the entire current 651 entity-body.651 representation. 652 652 </t> 653 653 <t> 654 654 The "If-Range" request-header field allows a client to "short-circuit" the second 655 request. Informally, its meaning is "if the entityis unchanged, send655 request. Informally, its meaning is "if the representation is unchanged, send 656 656 me the part(s) that I am missing; otherwise, send me the entire new 657 entity".657 representation". 658 658 </t> 659 659 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Range"/><iref primary="true" item="Grammar" subitem="If-Range-v"/> … … 662 662 </artwork></figure> 663 663 <t> 664 If the client has no entity tag for a n entity, but does have a Last-Modified664 If the client has no entity tag for a representation, but does have a Last-Modified 665 665 date, it &MAY; use that date in an If-Range header. (The 666 666 server can distinguish between a valid HTTP-date and any form of … … 672 672 <t> 673 673 If the entity tag given in the If-Range header matches the current 674 cache validator for the entity, then the server &SHOULD; provide the675 specified sub-range of the entityusing a 206 (Partial Content)674 cache validator for the representation, then the server &SHOULD; provide the 675 specified sub-range of the representation using a 206 (Partial Content) 676 676 response. If the cache validator does not match, then the server &SHOULD; 677 return the entire entityusing a 200 (OK) response.677 return the entire representation using a 200 (OK) response. 678 678 </t> 679 679 </section> … … 685 685 <section title="Byte Ranges" anchor="byte.ranges"> 686 686 <t> 687 Since all HTTP entities are represented in HTTP messagesas sequences687 Since all HTTP representations are transferred as sequences 688 688 of bytes, the concept of a byte range is meaningful for any HTTP 689 entity. (However, not all clients and servers need to support byte-range689 representation. (However, not all clients and servers need to support byte-range 690 690 operations.) 691 691 </t> 692 692 <t> 693 693 Byte range specifications in HTTP apply to the sequence of bytes in 694 the entity-body (not necessarily the same as the message-body).694 the representation body (not necessarily the same as the message-body). 695 695 </t> 696 696 <t anchor="rule.ranges-specifier"> … … 705 705 706 706 A byte range operation &MAY; specify a single range of bytes, or a set 707 of ranges within a single entity.707 of ranges within a single representation. 708 708 </t> 709 709 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ranges-specifier"/><iref primary="true" item="Grammar" subitem="byte-ranges-specifier"/><iref primary="true" item="Grammar" subitem="byte-range-set"/><iref primary="true" item="Grammar" subitem="byte-range-spec"/><iref primary="true" item="Grammar" subitem="first-byte-pos"/><iref primary="true" item="Grammar" subitem="last-byte-pos"/> … … 729 729 <t> 730 730 If the last-byte-pos value is absent, or if the value is greater than 731 or equal to the current length of the entity-body, last-byte-pos is732 taken to be equal to one less than the current length of the entity-body731 or equal to the current length of the representation body, last-byte-pos is 732 taken to be equal to one less than the current length of the representation 733 733 in bytes. 734 734 </t> 735 735 <t> 736 736 By its choice of last-byte-pos, a client can limit the number of 737 bytes retrieved without knowing the size of the entity.737 bytes retrieved without knowing the size of the representation. 738 738 </t> 739 739 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="suffix-byte-range-spec"/><iref primary="true" item="Grammar" subitem="suffix-length"/> … … 743 743 <t> 744 744 A suffix-byte-range-spec is used to specify the suffix of the 745 entity-body, of a length given by the suffix-length value. (That is,745 representation body, of a length given by the suffix-length value. (That is, 746 746 this form specifies the last N bytes of an entity-body.) If the 747 entityis shorter than the specified suffix-length, the entire748 entity-bodyis used.747 representation is shorter than the specified suffix-length, the entire 748 representation is used. 749 749 </t> 750 750 <t> … … 757 757 of 416 (Requested range not satisfiable). Otherwise, the server 758 758 &SHOULD; return a response with a status of 206 (Partial Content) 759 containing the satisfiable ranges of the entity-body.759 containing the satisfiable ranges of the representation. 760 760 </t> 761 761 <t> … … 805 805 <t> 806 806 The "Range" request-header field defines the GET method (conditional or 807 not) to request one or more sub-ranges of the response entity-body, instead808 of the entire entitybody.807 not) to request one or more sub-ranges of the response representation body, instead 808 of the entire representation body. 809 809 </t> 810 810 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Range"/> … … 1287 1287 Notes: 1288 1288 <list style="numbers"> 1289 <t>Additional CRLFs may precede the first boundary string in the 1290 entity.</t> 1289 <t>Additional CRLFs may precede the first boundary string in the body.</t> 1291 1290 1292 1291 <t>Although <xref target="RFC2046"/> permits the boundary string to be
Note: See TracChangeset
for help on using the changeset viewer.