Changeset 393 for draft-ietf-httpbis/latest/p5-range.xml
- Timestamp:
- 15/11/08 01:47:08 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p5-range.xml
r382 r393 252 252 253 253 <section title="Notational Conventions and Generic Grammar" anchor="notation"> 254 <x:anchor-alias value="CHAR"/> 254 255 <x:anchor-alias value="DIGIT"/> 255 256 <x:anchor-alias value="SP"/> … … 261 262 </t> 262 263 <figure><artwork type="abnf2616"> 264 <x:ref>CHAR</x:ref> = <CHAR, defined in &basic-rules;> 263 265 <x:ref>DIGIT</x:ref> = <DIGIT, defined in &basic-rules;> 264 266 <x:ref>SP</x:ref> = <SP, defined in &basic-rules;> … … 298 300 </artwork></figure> 299 301 <t> 300 The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1 301 implementations &MAY; ignore ranges specified using other units. 302 </t> 303 <t> 304 HTTP/1.1 has been designed to allow implementations of applications 305 that do not depend on knowledge of ranges. 302 HTTP/1.1 has been designed to allow implementations of applications 303 that do not depend on knowledge of ranges. The only range unit defined 304 by HTTP/1.1 is "bytes". 305 </t> 306 <t> 307 If a range unit is not understood in a request, a server &MUST; ignore 308 the whole Range header (<xref target="header.range" />). 309 If a range unit is not understood in a response, an intermediary 310 &SHOULD; pass the response to the client; a client &MUST; fail. 306 311 </t> 307 312 </section> … … 355 360 <t> 356 361 A cache that does not support the Range and Content-Range headers 357 &MUST-NOT; cache 206 (Partial Content) responses. 362 &MUST-NOT; cache 206 (Partial Content) responses. Furthermore, 363 if a response uses a range unit that is not understood by the cache, 364 then it &MUST-NOT; be cached either. 358 365 </t> 359 366 </section> … … 380 387 </section> 381 388 382 <section title="Combining ByteRanges" anchor="combining.byte.ranges">383 <t> 384 A response might transfer only a subrange of the bytes of an entity-body,385 either because the request included one or more Range386 specifications, or because a connection was broken prematurely. After387 several such transfers, a cache might have received several ranges of388 the same entity-body.389 <section title="Combining Ranges" anchor="combining.byte.ranges"> 390 <t> 391 A response might transfer only a subrange of an entity-body, either 392 the request included one or more Range specifications, or because 393 a connection was broken prematurely. 394 After several such transfers, a cache might have received several 395 ranges of the same entity-body. 389 396 </t> 390 397 <t> … … 440 447 </artwork></figure> 441 448 <t> 442 but are not required to do so. Clients &MAY; generate byte-range449 but are not required to do so. Clients &MAY; generate range 443 450 requests without having received this header for the resource 444 451 involved. Range units are defined in <xref target="range.units"/>. … … 465 472 <x:anchor-alias value="content-range-spec"/> 466 473 <x:anchor-alias value="instance-length"/> 474 <x:anchor-alias value="other-content-range-spec"/> 475 <x:anchor-alias value="other-range-resp-spec"/> 467 476 <t> 468 477 The entity-header "Content-Range" is sent with a partial entity-body to … … 475 484 476 485 <x:ref>content-range-spec</x:ref> = <x:ref>byte-content-range-spec</x:ref> 486 / <x:ref>other-content-range-spec</x:ref> 477 487 <x:ref>byte-content-range-spec</x:ref> = <x:ref>bytes-unit</x:ref> <x:ref>SP</x:ref> 478 488 <x:ref>byte-range-resp-spec</x:ref> "/" … … 483 493 484 494 <x:ref>instance-length</x:ref> = 1*<x:ref>DIGIT</x:ref> 495 496 <x:ref>other-content-range-spec</x:ref> = <x:ref>other-range-unit</x:ref> <x:ref>SP</x:ref> 497 <x:ref>other-range-resp-spec</x:ref> 498 <x:ref>other-range-resp-spec</x:ref> = *<x:ref>CHAR</x:ref> 485 499 </artwork></figure> 486 500 <t> … … 504 518 </t> 505 519 <t> 520 In the case of a byte range request: 506 521 A server sending a response with status code 416 (Requested range not 507 522 satisfiable) &SHOULD; include a Content-Range field with a byte-range-resp-spec … … 568 583 multipart/byteranges media type with one part. A client that cannot 569 584 decode a multipart/byteranges message &MUST-NOT; ask for multiple 570 byte-ranges in a single request.585 ranges in a single request. 571 586 </t> 572 587 <t> … … 663 678 <x:anchor-alias value="suffix-byte-range-spec"/> 664 679 <x:anchor-alias value="suffix-length"/> 680 <x:anchor-alias value="other-ranges-specifier"/> 681 665 682 A byte range operation &MAY; specify a single range of bytes, or a set 666 683 of ranges within a single entity. 667 684 </t> 668 685 <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"/> 669 <x:ref>ranges-specifier</x:ref> = <x:ref>byte-ranges-specifier</x:ref>670 686 <x:ref>byte-ranges-specifier</x:ref> = <x:ref>bytes-unit</x:ref> "=" <x:ref>byte-range-set</x:ref> 671 687 <x:ref>byte-range-set</x:ref> = 1#( <x:ref>byte-range-spec</x:ref> / <x:ref>suffix-byte-range-spec</x:ref> ) … … 753 769 the entity returned as the result of the request: 754 770 </t> 755 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Range"/><iref primary="true" item="Grammar" subitem="Range-v"/> 756 <x:ref>Range</x:ref> = "Range" ":" <x:ref>OWS</x:ref> <x:ref>Range-v</x:ref> 757 <x:ref>Range-v</x:ref> = <x:ref>ranges-specifier</x:ref> 771 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Range"/> 772 <x:ref>Range</x:ref> = "Range" ":" <x:ref>ranges-specifier</x:ref> 773 <x:ref>ranges-specifier</x:ref> = <x:ref>byte-ranges-specifier</x:ref> 774 / <x:ref>other-ranges-specifier</x:ref> 775 <x:ref>other-ranges-specifier</x:ref> = 1*<x:ref>CHAR</x:ref> 758 776 </artwork></figure> 759 777 <t> … … 1400 1418 <section title="Since draft-ietf-httpbis-p5-range-05" anchor="changes.since.05"> 1401 1419 <t> 1420 Ongoing work on Custom Ranges (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/85"/>): 1421 <list style="symbols"> 1422 <t> 1423 Remove bias in favor of byte ranges; allow custom ranges in ABNF. 1424 </t> 1425 </list> 1402 1426 </t> 1403 1427 </section>
Note: See TracChangeset
for help on using the changeset viewer.