draft-ietf-httpbis-p5-range-06.txt   draft-ietf-httpbis-p5-range-07.txt 
HTTPbis Working Group R. Fielding, Ed. HTTPbis Working Group R. Fielding, Ed.
Internet-Draft Day Software Internet-Draft Day Software
Obsoletes: 2616 (if approved) J. Gettys Obsoletes: 2616 (if approved) J. Gettys
Intended status: Standards Track One Laptop per Child Intended status: Standards Track One Laptop per Child
Expires: September 10, 2009 J. Mogul Expires: January 14, 2010 J. Mogul
HP HP
H. Frystyk H. Frystyk
Microsoft Microsoft
L. Masinter L. Masinter
Adobe Systems Adobe Systems
P. Leach P. Leach
Microsoft Microsoft
T. Berners-Lee T. Berners-Lee
W3C/MIT W3C/MIT
Y. Lafon, Ed. Y. Lafon, Ed.
W3C W3C
J. Reschke, Ed. J. Reschke, Ed.
greenbytes greenbytes
March 9, 2009 July 13, 2009
HTTP/1.1, part 5: Range Requests and Partial Responses HTTP/1.1, part 5: Range Requests and Partial Responses
draft-ietf-httpbis-p5-range-06 draft-ietf-httpbis-p5-range-07
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. This document may contain material provisions of BCP 78 and BCP 79. This document may contain material
from IETF Documents or IETF Contributions published or made publicly from IETF Documents or IETF Contributions published or made publicly
available before November 10, 2008. The person(s) controlling the available before November 10, 2008. The person(s) controlling the
copyright in some of this material may not have granted the IETF copyright in some of this material may not have granted the IETF
Trust the right to allow modifications of such material outside the Trust the right to allow modifications of such material outside the
IETF Standards Process. Without obtaining an adequate license from IETF Standards Process. Without obtaining an adequate license from
skipping to change at page 2, line 10 skipping to change at page 2, line 10
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 10, 2009. This Internet-Draft will expire on January 14, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info). publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 42 skipping to change at page 2, line 42
responses to those requests. responses to those requests.
Editorial Note (To be removed by RFC Editor) Editorial Note (To be removed by RFC Editor)
Discussion of this draft should take place on the HTTPBIS working Discussion of this draft should take place on the HTTPBIS working
group mailing list (ietf-http-wg@w3.org). The current issues list is group mailing list (ietf-http-wg@w3.org). The current issues list is
at <http://tools.ietf.org/wg/httpbis/trac/report/11> and related at <http://tools.ietf.org/wg/httpbis/trac/report/11> and related
documents (including fancy diffs) can be found at documents (including fancy diffs) can be found at
<http://tools.ietf.org/wg/httpbis/>. <http://tools.ietf.org/wg/httpbis/>.
The changes in this draft are summarized in Appendix D.7. The changes in this draft are summarized in Appendix D.8.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4 1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Core Rules . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1. Core Rules . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2. ABNF Rules defined in other Parts of the 1.2.2. ABNF Rules defined in other Parts of the
Specification . . . . . . . . . . . . . . . . . . . . 5 Specification . . . . . . . . . . . . . . . . . . . . 5
2. Range Units . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Range Units . . . . . . . . . . . . . . . . . . . . . . . . . 5
skipping to change at page 3, line 25 skipping to change at page 3, line 25
3.1. 206 Partial Content . . . . . . . . . . . . . . . . . . . 6 3.1. 206 Partial Content . . . . . . . . . . . . . . . . . . . 6
3.2. 416 Requested Range Not Satisfiable . . . . . . . . . . . 6 3.2. 416 Requested Range Not Satisfiable . . . . . . . . . . . 6
4. Combining Ranges . . . . . . . . . . . . . . . . . . . . . . . 7 4. Combining Ranges . . . . . . . . . . . . . . . . . . . . . . . 7
5. Header Field Definitions . . . . . . . . . . . . . . . . . . . 7 5. Header Field Definitions . . . . . . . . . . . . . . . . . . . 7
5.1. Accept-Ranges . . . . . . . . . . . . . . . . . . . . . . 7 5.1. Accept-Ranges . . . . . . . . . . . . . . . . . . . . . . 7
5.2. Content-Range . . . . . . . . . . . . . . . . . . . . . . 8 5.2. Content-Range . . . . . . . . . . . . . . . . . . . . . . 8
5.3. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.3. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.4. Range . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.4. Range . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.4.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . . 11 5.4.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . . 11
5.4.2. Range Retrieval Requests . . . . . . . . . . . . . . . 13 5.4.2. Range Retrieval Requests . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
6.1. Message Header Registration . . . . . . . . . . . . . . . 14 6.1. Message Header Registration . . . . . . . . . . . . . . . 14
7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 7. Security Considerations . . . . . . . . . . . . . . . . . . . 14
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . . 14 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . . 15 9.2. Informative References . . . . . . . . . . . . . . . . . . 15
Appendix A. Internet Media Type multipart/byteranges . . . . . . 15 Appendix A. Internet Media Type multipart/byteranges . . . . . . 15
Appendix B. Compatibility with Previous Versions . . . . . . . . 17 Appendix B. Compatibility with Previous Versions . . . . . . . . 17
B.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 17 B.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 17
B.2. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . 18 B.2. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . 18
Appendix C. Collected ABNF . . . . . . . . . . . . . . . . . . . 18 Appendix C. Collected ABNF . . . . . . . . . . . . . . . . . . . 18
Appendix D. Change Log (to be removed by RFC Editor before Appendix D. Change Log (to be removed by RFC Editor before
publication) . . . . . . . . . . . . . . . . . . . . 19 publication) . . . . . . . . . . . . . . . . . . . . 19
D.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . 19 D.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . 19
D.2. Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . 20 D.2. Since draft-ietf-httpbis-p5-range-00 . . . . . . . . . . . 20
D.3. Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . 20 D.3. Since draft-ietf-httpbis-p5-range-01 . . . . . . . . . . . 20
D.4. Since draft-ietf-httpbis-p5-range-02 . . . . . . . . . . . 20 D.4. Since draft-ietf-httpbis-p5-range-02 . . . . . . . . . . . 20
D.5. Since draft-ietf-httpbis-p5-range-03 . . . . . . . . . . . 20 D.5. Since draft-ietf-httpbis-p5-range-03 . . . . . . . . . . . 20
D.6. Since draft-ietf-httpbis-p5-range-04 . . . . . . . . . . . 20 D.6. Since draft-ietf-httpbis-p5-range-04 . . . . . . . . . . . 20
D.7. Since draft-ietf-httpbis-p5-range-05 . . . . . . . . . . . 21 D.7. Since draft-ietf-httpbis-p5-range-05 . . . . . . . . . . . 21
D.8. Since draft-ietf-httpbis-p5-range-06 . . . . . . . . . . . 21
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
HTTP clients often encounter interrupted data transfers as a result HTTP clients often encounter interrupted data transfers as a result
of cancelled requests or dropped connections. When a cache has of cancelled requests or dropped connections. When a cache has
stored a partial representation, it is desirable to request the stored a partial representation, it is desirable to request the
remainder of that representation in a subsequent request rather than remainder of that representation in a subsequent request rather than
transfer the entire representation. There are also a number of Web transfer the entire representation. There are also a number of Web
applications that benefit from being able to request only a subset of applications that benefit from being able to request only a subset of
a larger representation, such as a single page of a very large a larger representation, such as a single page of a very large
skipping to change at page 5, line 21 skipping to change at page 5, line 21
The core rules below are defined in Section 1.2.2 of [Part1]: The core rules below are defined in Section 1.2.2 of [Part1]:
token = <token, defined in [Part1], Section 1.2.2> token = <token, defined in [Part1], Section 1.2.2>
OWS = <OWS, defined in [Part1], Section 1.2.2> OWS = <OWS, defined in [Part1], Section 1.2.2>
1.2.2. ABNF Rules defined in other Parts of the Specification 1.2.2. ABNF Rules defined in other Parts of the Specification
The ABNF rules below are defined in other parts: The ABNF rules below are defined in other parts:
HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1> HTTP-date = <HTTP-date, defined in [Part1], Section 3.2>
entity-tag = <entity-tag, defined in [Part4], Section 2> entity-tag = <entity-tag, defined in [Part4], Section 2>
2. Range Units 2. Range Units
HTTP/1.1 allows a client to request that only part (a range of) the HTTP/1.1 allows a client to request that only part (a range of) the
response entity be included within the response. HTTP/1.1 uses range response entity be included within the response. HTTP/1.1 uses range
units in the Range (Section 5.4) and Content-Range (Section 5.2) units in the Range (Section 5.4) and Content-Range (Section 5.2)
header fields. An entity can be broken down into subranges according header fields. An entity can be broken down into subranges according
to various structural units. to various structural units.
skipping to change at page 9, line 14 skipping to change at page 9, line 14
A byte-content-range-spec with a byte-range-resp-spec whose last- A byte-content-range-spec with a byte-range-resp-spec whose last-
byte-pos value is less than its first-byte-pos value, or whose byte-pos value is less than its first-byte-pos value, or whose
instance-length value is less than or equal to its last-byte-pos instance-length value is less than or equal to its last-byte-pos
value, is invalid. The recipient of an invalid byte-content-range- value, is invalid. The recipient of an invalid byte-content-range-
spec MUST ignore it and any content transferred along with it. spec MUST ignore it and any content transferred along with it.
In the case of a byte range request: A server sending a response with In the case of a byte range request: A server sending a response with
status code 416 (Requested range not satisfiable) SHOULD include a status code 416 (Requested range not satisfiable) SHOULD include a
Content-Range field with a byte-range-resp-spec of "*". The Content-Range field with a byte-range-resp-spec of "*". The
instance-length specifies the current length of the selected resource instance-length specifies the current length of the selected
as a decimal number. A response with status code 206 (Partial resource. A response with status code 206 (Partial Content) MUST NOT
Content) MUST NOT include a Content-Range field with a byte-range- include a Content-Range field with a byte-range-resp-spec of "*".
resp-spec of "*".
Examples of byte-content-range-spec values, assuming that the entity Examples of byte-content-range-spec values, assuming that the entity
contains a total of 1234 bytes: contains a total of 1234 bytes:
o The first 500 bytes: o The first 500 bytes:
bytes 0-499/1234 bytes 0-499/1234
o The second 500 bytes: o The second 500 bytes:
skipping to change at page 11, line 44 skipping to change at page 11, line 42
byte-ranges-specifier = bytes-unit "=" byte-range-set byte-ranges-specifier = bytes-unit "=" byte-range-set
byte-range-set = 1#( byte-range-spec / suffix-byte-range-spec ) byte-range-set = 1#( byte-range-spec / suffix-byte-range-spec )
byte-range-spec = first-byte-pos "-" [ last-byte-pos ] byte-range-spec = first-byte-pos "-" [ last-byte-pos ]
first-byte-pos = 1*DIGIT first-byte-pos = 1*DIGIT
last-byte-pos = 1*DIGIT last-byte-pos = 1*DIGIT
The first-byte-pos value in a byte-range-spec gives the byte-offset The first-byte-pos value in a byte-range-spec gives the byte-offset
of the first byte in a range. The last-byte-pos value gives the of the first byte in a range. The last-byte-pos value gives the
byte-offset of the last byte in the range; that is, the byte byte-offset of the last byte in the range; that is, the byte
positions specified are inclusive. Byte offsets are decimal and positions specified are inclusive. Byte offsets start at zero.
start at zero.
If the last-byte-pos value is present, it MUST be greater than or If the last-byte-pos value is present, it MUST be greater than or
equal to the first-byte-pos in that byte-range-spec, or the byte- equal to the first-byte-pos in that byte-range-spec, or the byte-
range-spec is syntactically invalid. The recipient of a byte-range- range-spec is syntactically invalid. The recipient of a byte-range-
set that includes one or more syntactically invalid byte-range-spec set that includes one or more syntactically invalid byte-range-spec
values MUST ignore the header field that includes that byte-range- values MUST ignore the header field that includes that byte-range-
set. set.
If the last-byte-pos value is absent, or if the value is greater than If the last-byte-pos value is absent, or if the value is greater than
or equal to the current length of the entity-body, last-byte-pos is or equal to the current length of the entity-body, last-byte-pos is
taken to be equal to one less than the current length of the entity- taken to be equal to one less than the current length of the entity-
body in bytes. body in bytes.
By its choice of last-byte-pos, a client can limit the number of By its choice of last-byte-pos, a client can limit the number of
bytes retrieved without knowing the size of the entity. bytes retrieved without knowing the size of the entity.
suffix-byte-range-spec = "-" suffix-length suffix-byte-range-spec = "-" suffix-length
suffix-length = 1*DIGIT suffix-length = 1*DIGIT
A suffix-byte-range-spec is used to specify the suffix of the entity- A suffix-byte-range-spec is used to specify the suffix of the entity-
body, of a length given by the decimal suffix-length value. (That body, of a length given by the suffix-length value. (That is, this
is, this form specifies the last N bytes of an entity-body.) If the form specifies the last N bytes of an entity-body.) If the entity is
entity is shorter than the specified suffix-length, the entire shorter than the specified suffix-length, the entire entity-body is
entity-body is used. used.
If a syntactically valid byte-range-set includes at least one byte- If a syntactically valid byte-range-set includes at least one byte-
range-spec whose first-byte-pos is less than the current length of range-spec whose first-byte-pos is less than the current length of
the entity-body, or at least one suffix-byte-range-spec with a non- the entity-body, or at least one suffix-byte-range-spec with a non-
zero suffix-length, then the byte-range-set is satisfiable. zero suffix-length, then the byte-range-set is satisfiable.
Otherwise, the byte-range-set is unsatisfiable. If the byte-range- Otherwise, the byte-range-set is unsatisfiable. If the byte-range-
set is unsatisfiable, the server SHOULD return a response with a set is unsatisfiable, the server SHOULD return a response with a
status of 416 (Requested range not satisfiable). Otherwise, the status of 416 (Requested range not satisfiable). Otherwise, the
server SHOULD return a response with a status of 206 (Partial server SHOULD return a response with a status of 206 (Partial
Content) containing the satisfiable ranges of the entity-body. Content) containing the satisfiable ranges of the entity-body.
Examples of byte-ranges-specifier values (assuming an entity-body of Examples of byte-ranges-specifier values (assuming an entity-body of
length 10000): length 10000):
o The first 500 bytes (byte offsets 0-499, inclusive): bytes=0-499 o The first 500 bytes (byte offsets 0-499, inclusive):
o The second 500 bytes (byte offsets 500-999, inclusive): bytes=500- bytes=0-499
999
o The final 500 bytes (byte offsets 9500-9999, inclusive): bytes=- o The second 500 bytes (byte offsets 500-999, inclusive):
500
o Or bytes=9500- bytes=500-999
o The first and last bytes only (bytes 0 and 9999): bytes=0-0,-1 o The final 500 bytes (byte offsets 9500-9999, inclusive):
bytes=-500
Or:
bytes=9500-
o The first and last bytes only (bytes 0 and 9999):
bytes=0-0,-1
o Several legal but not canonical specifications of the second 500 o Several legal but not canonical specifications of the second 500
bytes (byte offsets 500-999, inclusive): bytes (byte offsets 500-999, inclusive):
bytes=500-600,601-999 bytes=500-600,601-999
bytes=500-700,601-999 bytes=500-700,601-999
5.4.2. Range Retrieval Requests 5.4.2. Range Retrieval Requests
HTTP retrieval requests using conditional or unconditional GET HTTP retrieval requests using conditional or unconditional GET
methods MAY request one or more sub-ranges of the entity, instead of methods MAY request one or more sub-ranges of the entity, instead of
the entire entity, using the Range request header, which applies to the entire entity, using the Range request header, which applies to
the entity returned as the result of the request: the entity returned as the result of the request:
skipping to change at page 14, line 44 skipping to change at page 14, line 46
Larry Masinter, Jeff Mogul, Lou Montulli, David W. Morris, Luigi Larry Masinter, Jeff Mogul, Lou Montulli, David W. Morris, Luigi
Rizzo, and Bill Weihl. Rizzo, and Bill Weihl.
9. References 9. References
9.1. Normative References 9.1. Normative References
[Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections, and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,
and Message Parsing", draft-ietf-httpbis-p1-messaging-06 and Message Parsing", draft-ietf-httpbis-p1-messaging-07
(work in progress), March 2009. (work in progress), July 2009.
[Part3] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part3] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload
and Content Negotiation", draft-ietf-httpbis-p3-payload-06 and Content Negotiation", draft-ietf-httpbis-p3-payload-07
(work in progress), March 2009. (work in progress), July 2009.
[Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional
Requests", draft-ietf-httpbis-p4-conditional-06 (work in Requests", draft-ietf-httpbis-p4-conditional-07 (work in
progress), March 2009. progress), July 2009.
[Part6] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part6] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 6: Caching", Nottingham, M., Ed., and J. Reschke, Ed., "HTTP/1.1, part
draft-ietf-httpbis-p6-cache-06 (work in progress), 6: Caching", draft-ietf-httpbis-p6-cache-07 (work in
March 2009. progress), July 2009.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996. November 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
skipping to change at page 18, line 34 skipping to change at page 18, line 34
(Appendix A) (Appendix A)
Appendix C. Collected ABNF Appendix C. Collected ABNF
Accept-Ranges = "Accept-Ranges:" OWS Accept-Ranges-v Accept-Ranges = "Accept-Ranges:" OWS Accept-Ranges-v
Accept-Ranges-v = acceptable-ranges Accept-Ranges-v = acceptable-ranges
Content-Range = "Content-Range:" OWS Content-Range-v Content-Range = "Content-Range:" OWS Content-Range-v
Content-Range-v = content-range-spec Content-Range-v = content-range-spec
HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1> HTTP-date = <HTTP-date, defined in [Part1], Section 3.2>
If-Range = "If-Range:" OWS If-Range-v If-Range = "If-Range:" OWS If-Range-v
If-Range-v = entity-tag / HTTP-date If-Range-v = entity-tag / HTTP-date
OWS = <OWS, defined in [Part1], Section 1.2.2> OWS = <OWS, defined in [Part1], Section 1.2.2>
Range = "Range:" OWS Range-v Range = "Range:" OWS Range-v
Range-v = byte-ranges-specifier / other-ranges-specifier Range-v = byte-ranges-specifier / other-ranges-specifier
acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS
skipping to change at page 21, line 31 skipping to change at page 21, line 31
(<http://tools.ietf.org/wg/httpbis/trac/ticket/85>): (<http://tools.ietf.org/wg/httpbis/trac/ticket/85>):
o Remove bias in favor of byte ranges; allow custom ranges in ABNF. o Remove bias in favor of byte ranges; allow custom ranges in ABNF.
Final work on ABNF conversion Final work on ABNF conversion
(<http://tools.ietf.org/wg/httpbis/trac/ticket/36>): (<http://tools.ietf.org/wg/httpbis/trac/ticket/36>):
o Add appendix containing collected and expanded ABNF, reorganize o Add appendix containing collected and expanded ABNF, reorganize
ABNF introduction. ABNF introduction.
D.8. Since draft-ietf-httpbis-p5-range-06
Closed issues:
o <http://tools.ietf.org/wg/httpbis/trac/ticket/161>: "base for
numeric protocol elements"
Index Index
2 2
206 Partial Content (status code) 6 206 Partial Content (status code) 6
4 4
416 Requested Range Not Satisfiable (status code) 6 416 Requested Range Not Satisfiable (status code) 6
A A
Accept-Ranges header 7 Accept-Ranges header 7
 End of changes. 25 change blocks. 
35 lines changed or deleted 49 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/