draft-ietf-httpbis-p3-payload-14.txt   draft-ietf-httpbis-p3-payload-15.txt 
HTTPbis Working Group R. Fielding, Ed. HTTPbis Working Group R. Fielding, Ed.
Internet-Draft Adobe Internet-Draft Adobe
Obsoletes: 2616 (if approved) J. Gettys Obsoletes: 2616 (if approved) J. Gettys
Intended status: Standards Track Alcatel-Lucent Intended status: Standards Track Alcatel-Lucent
Expires: October 20, 2011 J. Mogul Expires: January 12, 2012 J. Mogul
HP HP
H. Frystyk H. Frystyk
Microsoft Microsoft
L. Masinter L. Masinter
Adobe Adobe
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
April 18, 2011 July 11, 2011
HTTP/1.1, part 3: Message Payload and Content Negotiation HTTP/1.1, part 3: Message Payload and Content Negotiation
draft-ietf-httpbis-p3-payload-14 draft-ietf-httpbis-p3-payload-15
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
information initiative since 1990. This document is Part 3 of the information initiative since 1990. This document is Part 3 of the
seven-part specification that defines the protocol referred to as seven-part specification that defines the protocol referred to as
"HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 3 defines "HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 3 defines
HTTP message content, metadata, and content negotiation. HTTP message content, metadata, and content negotiation.
skipping to change at page 1, line 47 skipping to change at page 1, line 47
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), which is archived at group mailing list (ietf-http-wg@w3.org), which is archived at
<http://lists.w3.org/Archives/Public/ietf-http-wg/>. <http://lists.w3.org/Archives/Public/ietf-http-wg/>.
The current issues list is at The current issues list is at
<http://tools.ietf.org/wg/httpbis/trac/report/3> and related <http://tools.ietf.org/wg/httpbis/trac/report/3> 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 E.15. The changes in this draft are summarized in Appendix E.16.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on October 20, 2011. This Internet-Draft will expire on January 12, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 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 Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 41 skipping to change at page 3, line 41
6.7. Content-Location . . . . . . . . . . . . . . . . . . . . . 23 6.7. Content-Location . . . . . . . . . . . . . . . . . . . . . 23
6.8. Content-Type . . . . . . . . . . . . . . . . . . . . . . . 24 6.8. Content-Type . . . . . . . . . . . . . . . . . . . . . . . 24
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
7.1. Header Field Registration . . . . . . . . . . . . . . . . 24 7.1. Header Field Registration . . . . . . . . . . . . . . . . 24
7.2. Content Coding Registry . . . . . . . . . . . . . . . . . 25 7.2. Content Coding Registry . . . . . . . . . . . . . . . . . 25
8. Security Considerations . . . . . . . . . . . . . . . . . . . 25 8. Security Considerations . . . . . . . . . . . . . . . . . . . 25
8.1. Privacy Issues Connected to Accept Header Fields . . . . . 26 8.1. Privacy Issues Connected to Accept Header Fields . . . . . 26
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 26 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 26
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26
10.1. Normative References . . . . . . . . . . . . . . . . . . . 26 10.1. Normative References . . . . . . . . . . . . . . . . . . . 26
10.2. Informative References . . . . . . . . . . . . . . . . . . 29 10.2. Informative References . . . . . . . . . . . . . . . . . . 28
Appendix A. Differences between HTTP and MIME . . . . . . . . . . 31 Appendix A. Differences between HTTP and MIME . . . . . . . . . . 29
A.1. MIME-Version . . . . . . . . . . . . . . . . . . . . . . . 31 A.1. MIME-Version . . . . . . . . . . . . . . . . . . . . . . . 30
A.2. Conversion to Canonical Form . . . . . . . . . . . . . . . 32 A.2. Conversion to Canonical Form . . . . . . . . . . . . . . . 30
A.3. Conversion of Date Formats . . . . . . . . . . . . . . . . 32 A.3. Conversion of Date Formats . . . . . . . . . . . . . . . . 31
A.4. Introduction of Content-Encoding . . . . . . . . . . . . . 32 A.4. Introduction of Content-Encoding . . . . . . . . . . . . . 31
A.5. No Content-Transfer-Encoding . . . . . . . . . . . . . . . 33 A.5. No Content-Transfer-Encoding . . . . . . . . . . . . . . . 31
A.6. Introduction of Transfer-Encoding . . . . . . . . . . . . 33 A.6. Introduction of Transfer-Encoding . . . . . . . . . . . . 31
A.7. MHTML and Line Length Limitations . . . . . . . . . . . . 33 A.7. MHTML and Line Length Limitations . . . . . . . . . . . . 31
Appendix B. Additional Features . . . . . . . . . . . . . . . . . 33 Appendix B. Additional Features . . . . . . . . . . . . . . . . . 32
Appendix C. Changes from RFC 2616 . . . . . . . . . . . . . . . . 34 Appendix C. Changes from RFC 2616 . . . . . . . . . . . . . . . . 32
Appendix D. Collected ABNF . . . . . . . . . . . . . . . . . . . 34 Appendix D. Collected ABNF . . . . . . . . . . . . . . . . . . . 33
Appendix E. Change Log (to be removed by RFC Editor before Appendix E. Change Log (to be removed by RFC Editor before
publication) . . . . . . . . . . . . . . . . . . . . 36 publication) . . . . . . . . . . . . . . . . . . . . 34
E.1. Since RFC 2616 . . . . . . . . . . . . . . . . . . . . . . 36 E.1. Since RFC 2616 . . . . . . . . . . . . . . . . . . . . . . 34
E.2. Since draft-ietf-httpbis-p3-payload-00 . . . . . . . . . . 36 E.2. Since draft-ietf-httpbis-p3-payload-00 . . . . . . . . . . 34
E.3. Since draft-ietf-httpbis-p3-payload-01 . . . . . . . . . . 37 E.3. Since draft-ietf-httpbis-p3-payload-01 . . . . . . . . . . 35
E.4. Since draft-ietf-httpbis-p3-payload-02 . . . . . . . . . . 37 E.4. Since draft-ietf-httpbis-p3-payload-02 . . . . . . . . . . 35
E.5. Since draft-ietf-httpbis-p3-payload-03 . . . . . . . . . . 37 E.5. Since draft-ietf-httpbis-p3-payload-03 . . . . . . . . . . 35
E.6. Since draft-ietf-httpbis-p3-payload-04 . . . . . . . . . . 38 E.6. Since draft-ietf-httpbis-p3-payload-04 . . . . . . . . . . 36
E.7. Since draft-ietf-httpbis-p3-payload-05 . . . . . . . . . . 38 E.7. Since draft-ietf-httpbis-p3-payload-05 . . . . . . . . . . 36
E.8. Since draft-ietf-httpbis-p3-payload-06 . . . . . . . . . . 38 E.8. Since draft-ietf-httpbis-p3-payload-06 . . . . . . . . . . 37
E.9. Since draft-ietf-httpbis-p3-payload-07 . . . . . . . . . . 39 E.9. Since draft-ietf-httpbis-p3-payload-07 . . . . . . . . . . 37
E.10. Since draft-ietf-httpbis-p3-payload-08 . . . . . . . . . . 39 E.10. Since draft-ietf-httpbis-p3-payload-08 . . . . . . . . . . 37
E.11. Since draft-ietf-httpbis-p3-payload-09 . . . . . . . . . . 39 E.11. Since draft-ietf-httpbis-p3-payload-09 . . . . . . . . . . 38
E.12. Since draft-ietf-httpbis-p3-payload-10 . . . . . . . . . . 40 E.12. Since draft-ietf-httpbis-p3-payload-10 . . . . . . . . . . 38
E.13. Since draft-ietf-httpbis-p3-payload-11 . . . . . . . . . . 41 E.13. Since draft-ietf-httpbis-p3-payload-11 . . . . . . . . . . 39
E.14. Since draft-ietf-httpbis-p3-payload-12 . . . . . . . . . . 41 E.14. Since draft-ietf-httpbis-p3-payload-12 . . . . . . . . . . 39
E.15. Since draft-ietf-httpbis-p3-payload-13 . . . . . . . . . . 41 E.15. Since draft-ietf-httpbis-p3-payload-13 . . . . . . . . . . 39
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 E.16. Since draft-ietf-httpbis-p3-payload-14 . . . . . . . . . . 40
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1. Introduction 1. Introduction
This document defines HTTP/1.1 message payloads (a.k.a., content), This document defines HTTP/1.1 message payloads (a.k.a., content),
the associated metadata header fields that define how the payload is the associated metadata header fields that define how the payload is
intended to be interpreted by a recipient, the request header fields intended to be interpreted by a recipient, the request header fields
that might influence content selection, and the various selection that might influence content selection, and the various selection
algorithms that are collectively referred to as HTTP content algorithms that are collectively referred to as HTTP content
negotiation. negotiation.
skipping to change at page 6, line 31 skipping to change at page 6, line 31
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>
word = <word, defined in [Part1], Section 1.2.2> word = <word, 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.3.2. ABNF Rules defined in other Parts of the Specification 1.3.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:
absolute-URI = <absolute-URI, defined in [Part1], Section 2.6> absolute-URI = <absolute-URI, defined in [Part1], Section 2.7>
partial-URI = <partial-URI, defined in [Part1], Section 2.6> partial-URI = <partial-URI, defined in [Part1], Section 2.7>
qvalue = <qvalue, defined in [Part1], Section 6.4> qvalue = <qvalue, defined in [Part1], Section 6.4>
2. Protocol Parameters 2. Protocol Parameters
2.1. Character Encodings (charset) 2.1. Character Encodings (charset)
HTTP uses charset names to indicate the character encoding of a HTTP uses charset names to indicate the character encoding of a
textual representation. textual representation.
A character encoding is identified by a case-insensitive token. The A character encoding is identified by a case-insensitive token. The
skipping to change at page 26, line 46 skipping to change at page 26, line 46
requests. General purpose user agents which provide a high degree of requests. General purpose user agents which provide a high degree of
header configurability SHOULD warn users about the loss of privacy header configurability SHOULD warn users about the loss of privacy
which can be involved. which can be involved.
9. Acknowledgments 9. Acknowledgments
10. References 10. References
10.1. Normative References 10.1. Normative References
[Part1] Fielding, R., Ed., Gettys, J., [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Mogul, J., Frystyk, H., Masinter, Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
L., Leach, P., Berners-Lee, T., and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,
Lafon, Y., Ed., and J. Reschke, and Message Parsing", draft-ietf-httpbis-p1-messaging-15
Ed., "HTTP/1.1, part 1: URIs, (work in progress), July 2011.
Connections, and Message Parsing",
draft-ietf-httpbis-p1-messaging-14
(work in progress), April 2011.
[Part2] Fielding, R., Ed., Gettys, J., [Part2] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Mogul, J., Frystyk, H., Masinter, Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
L., Leach, P., Berners-Lee, T., and J. Reschke, Ed., "HTTP/1.1, part 2: Message
Lafon, Y., Ed., and J. Reschke, Semantics", draft-ietf-httpbis-p2-semantics-15 (work in
Ed., "HTTP/1.1, part 2: Message progress), July 2011.
Semantics",
draft-ietf-httpbis-p2-semantics-14
(work in progress), April 2011.
[Part4] Fielding, R., Ed., Gettys, J., [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Mogul, J., Frystyk, H., Masinter, Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
L., Leach, P., Berners-Lee, T., and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional
Lafon, Y., Ed., and J. Reschke, Requests", draft-ietf-httpbis-p4-conditional-15 (work in
Ed., "HTTP/1.1, part 4: progress), July 2011.
Conditional Requests", draft-ietf-
httpbis-p4-conditional-14 (work in
progress), April 2011.
[Part5] Fielding, R., Ed., Gettys, J., [Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Mogul, J., Frystyk, H., Masinter, Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
L., Leach, P., Berners-Lee, T., and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and
Lafon, Y., Ed., and J. Reschke, Partial Responses", draft-ietf-httpbis-p5-range-15 (work
Ed., "HTTP/1.1, part 5: Range in progress), July 2011.
Requests and Partial Responses",
draft-ietf-httpbis-p5-range-14
(work in progress), April 2011.
[Part6] Fielding, R., Ed., Gettys, J., [Part6] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Mogul, J., Frystyk, H., Masinter, Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
L., Leach, P., Berners-Lee, T., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP/1.1, part
Lafon, Y., Ed., Nottingham, M., 6: Caching", draft-ietf-httpbis-p6-cache-15 (work in
Ed., and J. Reschke, Ed., progress), July 2011.
"HTTP/1.1, part 6: Caching",
draft-ietf-httpbis-p6-cache-14
(work in progress), April 2011.
[RFC1950] Deutsch, L. and J-L. Gailly, "ZLIB [RFC1950] Deutsch, L. and J-L. Gailly, "ZLIB Compressed Data Format
Compressed Data Format Specification version 3.3", RFC 1950, May 1996.
Specification version 3.3",
RFC 1950, May 1996.
RFC 1950 is an Informational RFC, RFC 1950 is an Informational RFC, thus it might be less
thus it might be less stable than stable than this specification. On the other hand, this
this specification. On the other downward reference was present since the publication of
hand, this downward reference was RFC 2068 in 1997 ([RFC2068]), therefore it is unlikely to
present since the publication of cause problems in practice. See also [BCP97].
RFC 2068 in 1997 ([RFC2068]),
therefore it is unlikely to cause
problems in practice. See also
[BCP97].
[RFC1951] Deutsch, P., "DEFLATE Compressed [RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification
Data Format Specification version version 1.3", RFC 1951, May 1996.
1.3", RFC 1951, May 1996.
RFC 1951 is an Informational RFC, RFC 1951 is an Informational RFC, thus it might be less
thus it might be less stable than stable than this specification. On the other hand, this
this specification. On the other downward reference was present since the publication of
hand, this downward reference was RFC 2068 in 1997 ([RFC2068]), therefore it is unlikely to
present since the publication of cause problems in practice. See also [BCP97].
RFC 2068 in 1997 ([RFC2068]),
therefore it is unlikely to cause
problems in practice. See also
[BCP97].
[RFC1952] Deutsch, P., Gailly, J-L., Adler, [RFC1952] Deutsch, P., Gailly, J-L., Adler, M., Deutsch, L., and G.
M., Deutsch, L., and G. Randers- Randers-Pehrson, "GZIP file format specification version
Pehrson, "GZIP file format 4.3", RFC 1952, May 1996.
specification version 4.3",
RFC 1952, May 1996.
RFC 1952 is an Informational RFC, RFC 1952 is an Informational RFC, thus it might be less
thus it might be less stable than stable than this specification. On the other hand, this
this specification. On the other downward reference was present since the publication of
hand, this downward reference was RFC 2068 in 1997 ([RFC2068]), therefore it is unlikely to
present since the publication of cause problems in practice. See also [BCP97].
RFC 2068 in 1997 ([RFC2068]),
therefore it is unlikely to cause
problems in practice. See also
[BCP97].
[RFC2045] Freed, N. and N. Borenstein, [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
"Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message
Extensions (MIME) Part One: Format Bodies", RFC 2045, November 1996.
of Internet Message Bodies",
RFC 2045, November 1996.
[RFC2046] Freed, N. and N. Borenstein, [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046,
Extensions (MIME) Part Two: Media November 1996.
Types", RFC 2046, November 1996.
[RFC2119] Bradner, S., "Key words for use in [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
RFCs to Indicate Requirement Requirement Levels", BCP 14, RFC 2119, March 1997.
Levels", BCP 14, RFC 2119,
March 1997.
[RFC4647] Phillips, A., Ed. and M. Davis, [RFC4647] Phillips, A., Ed. and M. Davis, Ed., "Matching of Language
Ed., "Matching of Language Tags", Tags", BCP 47, RFC 4647, September 2006.
BCP 47, RFC 4647, September 2006.
[RFC5234] Crocker, D., Ed. and P. Overell, [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
"Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
Specifications: ABNF", STD 68,
RFC 5234, January 2008.
[RFC5646] Phillips, A., Ed. and M. Davis, [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying
Ed., "Tags for Identifying Languages", BCP 47, RFC 5646, September 2009.
Languages", BCP 47, RFC 5646,
September 2009.
10.2. Informative References 10.2. Informative References
[BCP97] Klensin, J. and S. Hartman, [BCP97] Klensin, J. and S. Hartman, "Handling Normative References
"Handling Normative References to to Standards-Track Documents", BCP 97, RFC 4897,
Standards-Track Documents", June 2007.
BCP 97, RFC 4897, June 2007.
[RFC1945] Berners-Lee, T., Fielding, R., and [RFC1945] Berners-Lee, T., Fielding, R., and H. Nielsen, "Hypertext
H. Nielsen, "Hypertext Transfer Transfer Protocol -- HTTP/1.0", RFC 1945, May 1996.
Protocol -- HTTP/1.0", RFC 1945,
May 1996.
[RFC2049] Freed, N. and N. Borenstein, [RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
"Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and
Extensions (MIME) Part Five: Examples", RFC 2049, November 1996.
Conformance Criteria and
Examples", RFC 2049,
November 1996.
[RFC2068] Fielding, R., Gettys, J., Mogul, [RFC2068] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T.
J., Nielsen, H., and T. Berners- Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1",
Lee, "Hypertext Transfer Protocol RFC 2068, January 1997.
-- HTTP/1.1", RFC 2068,
January 1997.
[RFC2076] Palme, J., "Common Internet [RFC2076] Palme, J., "Common Internet Message Headers", RFC 2076,
Message Headers", RFC 2076, February 1997.
February 1997.
[RFC2277] Alvestrand, H., "IETF Policy on [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and
Character Sets and Languages", Languages", BCP 18, RFC 2277, January 1998.
BCP 18, RFC 2277, January 1998.
[RFC2295] Holtman, K. and A. Mutz, [RFC2295] Holtman, K. and A. Mutz, "Transparent Content Negotiation
"Transparent Content Negotiation in HTTP", RFC 2295, March 1998.
in HTTP", RFC 2295, March 1998.
[RFC2388] Masinter, L., "Returning Values [RFC2388] Masinter, L., "Returning Values from Forms: multipart/
from Forms: multipart/form-data", form-data", RFC 2388, August 1998.
RFC 2388, August 1998.
[RFC2557] Palme, F., Hopmann, A., Shelness, [RFC2557] Palme, F., Hopmann, A., Shelness, N., and E. Stefferud,
N., and E. Stefferud, "MIME "MIME Encapsulation of Aggregate Documents, such as HTML
Encapsulation of Aggregate (MHTML)", RFC 2557, March 1999.
Documents, such as HTML (MHTML)",
RFC 2557, March 1999.
[RFC2616] Fielding, R., Gettys, J., Mogul, [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
J., Frystyk, H., Masinter, L., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Leach, P., and T. Berners-Lee, Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
"Hypertext Transfer Protocol --
HTTP/1.1", RFC 2616, June 1999.
[RFC3629] Yergeau, F., "UTF-8, a [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
transformation format of ISO 10646", STD 63, RFC 3629, November 2003.
10646", STD 63, RFC 3629,
November 2003.
[RFC3864] Klyne, G., Nottingham, M., and J. [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Mogul, "Registration Procedures Procedures for Message Header Fields", BCP 90, RFC 3864,
for Message Header Fields", September 2004.
BCP 90, RFC 3864, September 2004.
[RFC4288] Freed, N. and J. Klensin, "Media [RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
Type Specifications and Registration Procedures", BCP 13, RFC 4288, December 2005.
Registration Procedures", BCP 13,
RFC 4288, December 2005.
[RFC5226] Narten, T. and H. Alvestrand, [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
"Guidelines for Writing an IANA IANA Considerations Section in RFCs", BCP 26, RFC 5226,
Considerations Section in RFCs", May 2008.
BCP 26, RFC 5226, May 2008.
[RFC5322] Resnick, P., "Internet Message [RFC5322] Resnick, P., "Internet Message Format", RFC 5322,
Format", RFC 5322, October 2008. October 2008.
[RFC6151] Turner, S. and L. Chen, "Updated [RFC6151] Turner, S. and L. Chen, "Updated Security Considerations
Security Considerations for the for the MD5 Message-Digest and the HMAC-MD5 Algorithms",
MD5 Message-Digest and the HMAC- RFC 6151, March 2011.
MD5 Algorithms", RFC 6151,
March 2011.
[draft-ietf-httpbis-content-disp] Reschke, J., "Use of the Content- [RFC6266] Reschke, J., "Use of the Content-Disposition Header Field
Disposition Header Field in the in the Hypertext Transfer Protocol (HTTP)", RFC 6266,
Hypertext Transfer Protocol June 2011.
(HTTP)",
draft-ietf-httpbis-content-disp-09
(work in progress), March 2011.
Appendix A. Differences between HTTP and MIME Appendix A. Differences between HTTP and MIME
HTTP/1.1 uses many of the constructs defined for Internet Mail HTTP/1.1 uses many of the constructs defined for Internet Mail
([RFC5322]) and the Multipurpose Internet Mail Extensions (MIME ([RFC5322]) and the Multipurpose Internet Mail Extensions (MIME
[RFC2045]) to allow a message-body to be transmitted in an open [RFC2045]) to allow a message-body to be transmitted in an open
variety of representations and with extensible mechanisms. However, variety of representations and with extensible mechanisms. However,
RFC 2045 discusses mail, and HTTP has a few features that are RFC 2045 discusses mail, and HTTP has a few features that are
different from those described in MIME. These differences were different from those described in MIME. These differences were
carefully chosen to optimize performance over binary connections, to carefully chosen to optimize performance over binary connections, to
skipping to change at page 33, line 49 skipping to change at page 32, line 20
[RFC1945] and [RFC2068] document protocol elements used by some [RFC1945] and [RFC2068] document protocol elements used by some
existing HTTP implementations, but not consistently and correctly existing HTTP implementations, but not consistently and correctly
across most HTTP/1.1 applications. Implementors are advised to be across most HTTP/1.1 applications. Implementors are advised to be
aware of these features, but cannot rely upon their presence in, or aware of these features, but cannot rely upon their presence in, or
interoperability with, other HTTP/1.1 applications. Some of these interoperability with, other HTTP/1.1 applications. Some of these
describe proposed experimental features, and some describe features describe proposed experimental features, and some describe features
that experimental deployment found lacking that are now addressed in that experimental deployment found lacking that are now addressed in
the base HTTP/1.1 specification. the base HTTP/1.1 specification.
A number of other header fields, such as Content-Disposition and A number of other header fields, such as Content-Disposition and
Title, from SMTP and MIME are also often implemented (see Title, from SMTP and MIME are also often implemented (see [RFC6266]
[draft-ietf-httpbis-content-disp] and [RFC2076]). and [RFC2076]).
Appendix C. Changes from RFC 2616 Appendix C. Changes from RFC 2616
Clarify contexts that charset is used in. (Section 2.1) Clarify contexts that charset is used in. (Section 2.1)
Remove the default character encoding for text media types; the Remove the default character encoding for text media types; the
default now is whatever the media type definition says. default now is whatever the media type definition says.
(Section 2.3.1) (Section 2.3.1)
Change ABNF productions for header fields to only define the field Change ABNF productions for header fields to only define the field
skipping to change at page 34, line 30 skipping to change at page 32, line 48
Remove ISO-8859-1 special-casing in Accept-Charset. (Section 6.2) Remove ISO-8859-1 special-casing in Accept-Charset. (Section 6.2)
Remove base URI setting semantics for Content-Location due to poor Remove base URI setting semantics for Content-Location due to poor
implementation support, which was caused by too many broken servers implementation support, which was caused by too many broken servers
emitting bogus Content-Location header fields, and also the emitting bogus Content-Location header fields, and also the
potentially undesirable effect of potentially breaking relative links potentially undesirable effect of potentially breaking relative links
in content-negotiated resources. (Section 6.7) in content-negotiated resources. (Section 6.7)
Remove discussion of Content-Disposition header field, it is now Remove discussion of Content-Disposition header field, it is now
defined by [draft-ietf-httpbis-content-disp]. (Appendix B) defined by [RFC6266]. (Appendix B)
Remove reference to non-existant identity transfer-coding value Remove reference to non-existant identity transfer-coding value
tokens. (Appendix A.5) tokens. (Appendix A.5)
Appendix D. Collected ABNF Appendix D. Collected ABNF
Accept = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [ Accept = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
OWS media-range [ accept-params ] ] ) ] OWS media-range [ accept-params ] ] ) ]
Accept-Charset = *( "," OWS ) ( charset / "*" ) [ OWS ";" OWS "q=" Accept-Charset = *( "," OWS ) ( charset / "*" ) [ OWS ";" OWS "q="
qvalue ] *( OWS "," [ OWS ( charset / "*" ) [ OWS ";" OWS "q=" qvalue ] *( OWS "," [ OWS ( charset / "*" ) [ OWS ";" OWS "q="
skipping to change at page 35, line 10 skipping to change at page 33, line 29
content-coding ] ) content-coding ] )
Content-Language = *( "," OWS ) language-tag *( OWS "," [ OWS Content-Language = *( "," OWS ) language-tag *( OWS "," [ OWS
language-tag ] ) language-tag ] )
Content-Location = absolute-URI / partial-URI Content-Location = absolute-URI / partial-URI
Content-Type = media-type Content-Type = media-type
MIME-Version = 1*DIGIT "." 1*DIGIT MIME-Version = 1*DIGIT "." 1*DIGIT
OWS = <OWS, defined in [Part1], Section 1.2.2> OWS = <OWS, defined in [Part1], Section 1.2.2>
absolute-URI = <absolute-URI, defined in [Part1], Section 2.6> absolute-URI = <absolute-URI, defined in [Part1], Section 2.7>
accept-ext = OWS ";" OWS token [ "=" word ] accept-ext = OWS ";" OWS token [ "=" word ]
accept-params = OWS ";" OWS "q=" qvalue *accept-ext accept-params = OWS ";" OWS "q=" qvalue *accept-ext
attribute = token attribute = token
charset = token charset = token
codings = ( content-coding / "*" ) codings = ( content-coding / "*" )
content-coding = token content-coding = token
language-range = <language-range, defined in [RFC4647], Section 2.1> language-range = <language-range, defined in [RFC4647], Section 2.1>
language-tag = <Language-Tag, defined in [RFC5646], Section 2.1> language-tag = <Language-Tag, defined in [RFC5646], Section 2.1>
media-range = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS media-range = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS
";" OWS parameter ) ";" OWS parameter )
media-type = type "/" subtype *( OWS ";" OWS parameter ) media-type = type "/" subtype *( OWS ";" OWS parameter )
parameter = attribute "=" value parameter = attribute "=" value
partial-URI = <partial-URI, defined in [Part1], Section 2.6> partial-URI = <partial-URI, defined in [Part1], Section 2.7>
qvalue = <qvalue, defined in [Part1], Section 6.4> qvalue = <qvalue, defined in [Part1], Section 6.4>
subtype = token subtype = token
token = <token, defined in [Part1], Section 1.2.2> token = <token, defined in [Part1], Section 1.2.2>
type = token type = token
value = word value = word
skipping to change at page 41, line 41 skipping to change at page 40, line 5
o <http://tools.ietf.org/wg/httpbis/trac/ticket/178>: "Content-MD5 o <http://tools.ietf.org/wg/httpbis/trac/ticket/178>: "Content-MD5
and partial responses" and partial responses"
o <http://tools.ietf.org/wg/httpbis/trac/ticket/276>: "untangle o <http://tools.ietf.org/wg/httpbis/trac/ticket/276>: "untangle
ABNFs for header fields" ABNFs for header fields"
o <http://tools.ietf.org/wg/httpbis/trac/ticket/281>: "confusing o <http://tools.ietf.org/wg/httpbis/trac/ticket/281>: "confusing
undefined parameter in media range example" undefined parameter in media range example"
E.16. Since draft-ietf-httpbis-p3-payload-14
None.
Index Index
A A
Accept header field 16 Accept header field 16
Accept-Charset header field 18 Accept-Charset header field 18
Accept-Encoding header field 19 Accept-Encoding header field 19
Accept-Language header field 20 Accept-Language header field 20
C C
Coding Format Coding Format
skipping to change at page 42, line 36 skipping to change at page 41, line 4
codings 19 codings 19
content-coding 7 content-coding 7
Content-Encoding 21 Content-Encoding 21
Content-Language 22 Content-Language 22
Content-Location 23 Content-Location 23
Content-Type 24 Content-Type 24
language-range 20 language-range 20
language-tag 10 language-tag 10
media-range 16 media-range 16
media-type 8 media-type 8
MIME-Version 31 MIME-Version 30
parameter 8 parameter 8
subtype 8 subtype 8
type 8 type 8
value 8 value 8
gzip (Coding Format) 7 gzip (Coding Format) 7
H H
Header Fields Header Fields
Accept 16 Accept 16
Accept-Charset 18 Accept-Charset 18
Accept-Encoding 19 Accept-Encoding 19
Accept-Language 20 Accept-Language 20
Content-Encoding 21 Content-Encoding 21
Content-Language 22 Content-Language 22
Content-Location 23 Content-Location 23
Content-Type 24 Content-Type 24
MIME-Version 31 MIME-Version 30
I I
identity (Coding Format) 7 identity (Coding Format) 7
M M
MIME-Version header field 31 MIME-Version header field 30
P P
payload 10 payload 10
R R
representation 11 representation 11
Authors' Addresses Authors' Addresses
Roy T. Fielding (editor) Roy T. Fielding (editor)
 End of changes. 50 change blocks. 
217 lines changed or deleted 153 lines changed or added

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