| p5-range-orig.txt | draft-fielding-http-p5-range-00.txt | |||
|---|---|---|---|---|
| Network Working Group R. Fielding | Network Working Group R. Fielding, Ed. | |||
| Internet-Draft UC Irvine | Internet-Draft Day Software | |||
| Obsoletes: 2068, 2616, 2617 J. Gettys | Obsoletes: 2068, 2616, 2617 J. Gettys | |||
| (if approved) Compaq/W3C | (if approved) J. Mogul | |||
| Intended status: Standards Track J. Mogul | Intended status: Standards Track HP | |||
| Expires: March 4, 2008 Compaq | Expires: May 14, 2008 H. Frystyk | |||
| H. Frystyk | Microsoft | |||
| W3C/MIT | ||||
| L. Masinter | L. Masinter | |||
| Xerox | Adobe Systems | |||
| P. Leach | P. Leach | |||
| Microsoft | Microsoft | |||
| T. Berners-Lee | T. Berners-Lee | |||
| W3C/MIT | W3C/MIT | |||
| September 2007 | November 11, 2007 | |||
| HTTP/1.1, part 5: Range Requests and Partial Responses | HTTP/1.1, part 5: Range Requests and Partial Responses | |||
| draft-fielding-http-p5-range-00 | draft-fielding-http-p5-range-00 | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| skipping to change at page 1, line 45 | skipping to change at page 1, line 44 | |||
| 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 March 4, 2008. | This Internet-Draft will expire on May 14, 2008. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2007). | |||
| Abstract | Abstract | |||
| The Hypertext Transfer Protocol (HTTP) is an application-level | The Hypertext Transfer Protocol (HTTP) is an application-level | |||
| protocol for distributed, collaborative, hypermedia information | protocol for distributed, collaborative, hypermedia information | |||
| systems. HTTP has been in use by the World Wide Web global | systems. HTTP has been in use by the World Wide Web global | |||
| skipping to change at page 2, line 25 | skipping to change at page 2, line 25 | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Range Units . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Range Units . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. 206 Partial Content . . . . . . . . . . . . . . . . . . . . . 3 | 3. 206 Partial Content . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. 416 Requested Range Not Satisfiable . . . . . . . . . . . . . 4 | 4. 416 Requested Range Not Satisfiable . . . . . . . . . . . . . 4 | |||
| 5. Combining Byte Ranges . . . . . . . . . . . . . . . . . . . . 4 | 5. Combining Byte Ranges . . . . . . . . . . . . . . . . . . . . 4 | |||
| 6. Header Field Definitions . . . . . . . . . . . . . . . . . . . 5 | 6. Header Field Definitions . . . . . . . . . . . . . . . . . . . 5 | |||
| 6.1. Accept-Ranges . . . . . . . . . . . . . . . . . . . . . . 5 | 6.1. Accept-Ranges . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 6.2. Content-Range . . . . . . . . . . . . . . . . . . . . . . 6 | 6.2. Content-Range . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 6.3. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6.3. If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.4. Range . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6.4. Range . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.4.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . . 8 | 6.4.1. Byte Ranges . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.4.2. Range Retrieval Requests . . . . . . . . . . . . . . . 10 | 6.4.2. Range Retrieval Requests . . . . . . . . . . . . . . . 10 | |||
| 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | ||||
| Appendix A. Internet Media Type multipart/byteranges . . . . . . 11 | Appendix A. Internet Media Type multipart/byteranges . . . . . . 11 | |||
| Appendix B. Changes from RFC 2068 . . . . . . . . . . . . . . . . 13 | Appendix B. Changes from RFC 2068 . . . . . . . . . . . . . . . . 13 | |||
| Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 17 | Intellectual Property and Copyright Statements . . . . . . . . . . 17 | |||
| 1. Introduction | 1. Introduction | |||
| This document will define aspects of HTTP related to range requests, | This document will define aspects of HTTP related to range requests, | |||
| partial responses, and the multipart/byteranges media type. Right | partial responses, and the multipart/byteranges media type. Right | |||
| skipping to change at page 4, line 8 | skipping to change at page 4, line 8 | |||
| body. | body. | |||
| o Date | o Date | |||
| o ETag and/or Content-Location, if the header would have been sent | o ETag and/or Content-Location, if the header would have been sent | |||
| in a 200 response to the same request | in a 200 response to the same request | |||
| o Expires, Cache-Control, and/or Vary, if the field-value might | o Expires, Cache-Control, and/or Vary, if the field-value might | |||
| differ from that sent in any previous response for the same | differ from that sent in any previous response for the same | |||
| variant | variant | |||
| If the 206 response is the result of an If-Range request that used a | If the 206 response is the result of an If-Range request, the | |||
| strong cache validator (see [Part 4]), the response SHOULD NOT | response SHOULD NOT include other entity-headers. Otherwise, the | |||
| include other entity-headers. If the response is the result of an | response MUST include all of the entity-headers that would have been | |||
| If-Range request that used a weak validator, the response MUST NOT | returned with a 200 (OK) response to the same request. | |||
| include other entity-headers; this prevents inconsistencies between | ||||
| cached entity-bodies and updated headers. Otherwise, the response | ||||
| MUST include all of the entity-headers that would have been returned | ||||
| with a 200 (OK) response to the same request. | ||||
| A cache MUST NOT combine a 206 response with other previously cached | A cache MUST NOT combine a 206 response with other previously cached | |||
| content if the ETag or Last-Modified headers do not match exactly, | content if the ETag or Last-Modified headers do not match exactly, | |||
| see 5. | see 5. | |||
| A cache that does not support the Range and Content-Range headers | A cache that does not support the Range and Content-Range headers | |||
| MUST NOT cache 206 (Partial) responses. | MUST NOT cache 206 (Partial) responses. | |||
| 4. 416 Requested Range Not Satisfiable | 4. 416 Requested Range Not Satisfiable | |||
| skipping to change at page 11, line 22 | skipping to change at page 11, line 12 | |||
| In some cases, it might be more appropriate to use the If-Range | In some cases, it might be more appropriate to use the If-Range | |||
| header (see Section 6.3) in addition to the Range header. | header (see Section 6.3) in addition to the Range header. | |||
| If a proxy that supports ranges receives a Range request, forwards | If a proxy that supports ranges receives a Range request, forwards | |||
| the request to an inbound server, and receives an entire entity in | the request to an inbound server, and receives an entire entity in | |||
| reply, it SHOULD only return the requested range to its client. It | reply, it SHOULD only return the requested range to its client. It | |||
| SHOULD store the entire received response in its cache if that is | SHOULD store the entire received response in its cache if that is | |||
| consistent with its cache allocation policies. | consistent with its cache allocation policies. | |||
| 7. Acknowledgments | 7. IANA Considerations | |||
| Most of the specification of ranges is based on work originally done | ||||
| by Ari Luotonen and John Franks, with additional input from Steve | ||||
| Zilles. | ||||
| Based on an XML translation of RFC 2616 by Julian Reschke. | TBD. | |||
| 8. Security Considerations | 8. Security Considerations | |||
| No additional security considerations have been identified beyond | No additional security considerations have been identified beyond | |||
| those applicable to HTTP in general [Part 1]. | those applicable to HTTP in general [Part 1]. | |||
| 9. References | 9. Acknowledgments | |||
| Most of the specification of ranges is based on work originally done | ||||
| by Ari Luotonen and John Franks, with additional input from Steve | ||||
| Zilles. | ||||
| Based on an XML translation of RFC 2616 by Julian Reschke. | ||||
| 10. References | ||||
| [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. | |||
| [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | |||
| Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. | Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. | |||
| Appendix A. Internet Media Type multipart/byteranges | Appendix A. Internet Media Type multipart/byteranges | |||
| skipping to change at page 13, line 44 | skipping to change at page 13, line 37 | |||
| 2 | 2 | |||
| 206 Partial Content (status code) 3 | 206 Partial Content (status code) 3 | |||
| 4 | 4 | |||
| 416 Requested Range Not Satisfiable (status code) 4 | 416 Requested Range Not Satisfiable (status code) 4 | |||
| A | A | |||
| Accept-Ranges header 5 | Accept-Ranges header 5 | |||
| C | C | |||
| Content-Range header 6 | Content-Range header 5 | |||
| G | G | |||
| Grammar | Grammar | |||
| Accept-Ranges 5 | Accept-Ranges 5 | |||
| acceptable-ranges 5 | acceptable-ranges 5 | |||
| byte-content-range-spec 6 | byte-content-range-spec 6 | |||
| byte-range-resp-spec 6 | byte-range-resp-spec 6 | |||
| byte-range-set 9 | byte-range-set 9 | |||
| byte-range-spec 9 | byte-range-spec 9 | |||
| byte-ranges-specifier 9 | byte-ranges-specifier 9 | |||
| skipping to change at page 14, line 25 | skipping to change at page 14, line 19 | |||
| other-range-unit 3 | other-range-unit 3 | |||
| Range 10 | Range 10 | |||
| range-unit 3 | range-unit 3 | |||
| ranges-specifier 9 | ranges-specifier 9 | |||
| suffix-byte-range-spec 9 | suffix-byte-range-spec 9 | |||
| suffix-length 9 | suffix-length 9 | |||
| H | H | |||
| Headers | Headers | |||
| Accept-Ranges 5 | Accept-Ranges 5 | |||
| Content-Range 6 | Content-Range 5 | |||
| If-Range 8 | If-Range 8 | |||
| Range 8 | Range 8 | |||
| I | I | |||
| If-Range header 8 | If-Range header 8 | |||
| M | M | |||
| Media Type | Media Type | |||
| multipart/byteranges 11 | multipart/byteranges 11 | |||
| multipart/x-byteranges 13 | multipart/x-byteranges 13 | |||
| skipping to change at page 15, line 7 | skipping to change at page 15, line 7 | |||
| R | R | |||
| Range header 8 | Range header 8 | |||
| S | S | |||
| Status Codes | Status Codes | |||
| 206 Partial Content 3 | 206 Partial Content 3 | |||
| 416 Requested Range Not Satisfiable 4 | 416 Requested Range Not Satisfiable 4 | |||
| Authors' Addresses | Authors' Addresses | |||
| Roy T. Fielding | Roy T. Fielding (editor) | |||
| Department of Information and Computer Science | Day Software | |||
| University of California, Irvine | 23 Corporate Plaza DR, Suite 280 | |||
| Irvine, CA 92697-3425 | Newport Beach, CA 92660 | |||
| USA | ||||
| Fax: +1(949)824-1715 | Phone: +1-949-706-5300 | |||
| Email: fielding@ics.uci.edu | Fax: +1-949-706-5305 | |||
| Email: fielding@gbiv.com | ||||
| URI: http://roy.gbiv.com/ | ||||
| James Gettys | James Gettys | |||
| World Wide Web Consortium | Hewlett-Packard Company | |||
| MIT Laboratory for Computer Science, NE43-356 | HP Labs, Cambridge Research Laboratory | |||
| 545 Technology Square | One Cambridge Center | |||
| Cambridge, MA 02139 | Cambridge, MA 02138 | |||
| USA | ||||
| Fax: +1(617)258-8682 | Email: Jim.Gettys@hp.com | |||
| Email: jg@w3.org | ||||
| Jeffrey C. Mogul | Jeffrey C. Mogul | |||
| Compaq Computer Corporation | Hewlett-Packard Company | |||
| Western Research Laboratory | HP Labs, Large Scale Systems Group | |||
| 250 University Avenue | 1501 Page Mill Road, MS 1177 | |||
| Palo Alto, CA 94305 | Palo Alto, CA 94304 | |||
| USA | ||||
| Email: mogul@wrl.dec.com | Email: JeffMogul@acm.org | |||
| Henrik Frystyk Nielsen | Henrik Frystyk Nielsen | |||
| World Wide Web Consortium | Microsoft Corporation | |||
| MIT Laboratory for Computer Science, NE43-356 | 1 Microsoft Way | |||
| 545 Technology Square | Redmond, WA 98052 | |||
| Cambridge, MA 02139 | USA | |||
| Fax: +1(617)258-8682 | ||||
| Email: frystyk@w3.org | ||||
| Email: henrikn@microsoft.com | ||||
| Larry Masinter | Larry Masinter | |||
| Xerox Corporation | Adobe Systems, Incorporated | |||
| MIT Laboratory for Computer Science, NE43-356 | 345 Park Ave | |||
| 3333 Coyote Hill Road | San Jose, CA 95110 | |||
| Palo Alto, CA 94034 | USA | |||
| Email: LMM@acm.org | ||||
| URI: http://larry.masinter.net/ | ||||
| Email: masinter@parc.xerox.com | ||||
| Paul J. Leach | Paul J. Leach | |||
| Microsoft Corporation | Microsoft Corporation | |||
| 1 Microsoft Way | 1 Microsoft Way | |||
| Redmond, WA 98052 | Redmond, WA 98052 | |||
| Email: paulle@microsoft.com | Email: paulle@microsoft.com | |||
| Tim Berners-Lee | Tim Berners-Lee | |||
| World Wide Web Consortium | World Wide Web Consortium | |||
| MIT Laboratory for Computer Science, NE43-356 | MIT Laboratory for Computer Science | |||
| 545 Technology Square | 545 Technology Square | |||
| Cambridge, MA 02139 | Cambridge, MA 02139 | |||
| USA | ||||
| Fax: +1(617)258-8682 | Fax: +1 (617) 258 8682 | |||
| Email: timbl@w3.org | Email: timbl@w3.org | |||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2007). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| End of changes. 27 change blocks. | ||||
| 61 lines changed or deleted | 66 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||