Changeset 2046 for draft-ietf-httpbis/latest/p2-semantics.html
- Timestamp:
- 09/12/12 15:44:14 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r2045 r2046 449 449 } 450 450 @bottom-center { 451 content: "Expires June 1 1, 2013";451 content: "Expires June 12, 2013"; 452 452 } 453 453 @bottom-right { … … 496 496 <meta name="dct.creator" content="Reschke, J. F."> 497 497 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p2-semantics-latest"> 498 <meta name="dct.issued" scheme="ISO8601" content="2012-12-0 8">498 <meta name="dct.issued" scheme="ISO8601" content="2012-12-09"> 499 499 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 500 500 <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation."> … … 524 524 <tr> 525 525 <td class="left">Intended status: Standards Track</td> 526 <td class="right">December 8, 2012</td>526 <td class="right">December 9, 2012</td> 527 527 </tr> 528 528 <tr> 529 <td class="left">Expires: June 1 1, 2013</td>529 <td class="left">Expires: June 12, 2013</td> 530 530 <td class="right"></td> 531 531 </tr> … … 555 555 in progress”. 556 556 </p> 557 <p>This Internet-Draft will expire on June 1 1, 2013.</p>557 <p>This Internet-Draft will expire on June 12, 2013.</p> 558 558 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 559 559 <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 581 581 <li><a href="#rfc.section.3">3.</a> <a href="#representations">Representations</a><ul> 582 582 <li><a href="#rfc.section.3.1">3.1</a> <a href="#representation.metadata">Representation Metadata</a><ul> 583 <li><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#data.type"> Data Type</a><ul>583 <li><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#data.type">Processing the Data</a><ul> 584 584 <li><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a href="#media.type">Media Type</a></li> 585 585 <li><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a href="#charset">Charset</a></li> … … 589 589 </ul> 590 590 </li> 591 <li><a href="#rfc.section.3.1.2">3.1.2</a> <a href="#data.encoding"> Data Encoding</a><ul>591 <li><a href="#rfc.section.3.1.2">3.1.2</a> <a href="#data.encoding">Encoding for Compression or Integrity</a><ul> 592 592 <li><a href="#rfc.section.3.1.2.1">3.1.2.1</a> <a href="#content.codings">Content Codings</a></li> 593 593 <li><a href="#rfc.section.3.1.2.2">3.1.2.2</a> <a href="#header.content-encoding">Content-Encoding</a></li> … … 890 890 </table> 891 891 </div> 892 <h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a id="data.type" href="#data.type"> Data Type</a></h3>892 <h3 id="rfc.section.3.1.1"><a href="#rfc.section.3.1.1">3.1.1</a> <a id="data.type" href="#data.type">Processing the Data</a></h3> 893 893 <h4 id="rfc.section.3.1.1.1"><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a id="media.type" href="#media.type">Media Type</a></h4> 894 <p id="rfc.section.3.1.1.1.p.1">HTTP uses Internet Media Types <a href="#RFC2046" id="rfc.xref.RFC2046.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types">[RFC2046]</cite></a> in the <a href="#header.content-type" class="smpl">Content-Type</a> (<a href="#header.content-type" id="rfc.xref.header.content-type.2" title="Content-Type">Section 3.1.1.5</a>) and <a href="#header.accept" class="smpl">Accept</a> (<a href="#header.accept" id="rfc.xref.header.accept.1" title="Accept">Section 6.3.2</a>) header fields in order to provide open and extensible data typing and type negotiation. 894 <p id="rfc.section.3.1.1.1.p.1">HTTP uses Internet Media Types <a href="#RFC2046" id="rfc.xref.RFC2046.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types">[RFC2046]</cite></a> in the <a href="#header.content-type" class="smpl">Content-Type</a> (<a href="#header.content-type" id="rfc.xref.header.content-type.2" title="Content-Type">Section 3.1.1.5</a>) and <a href="#header.accept" class="smpl">Accept</a> (<a href="#header.accept" id="rfc.xref.header.accept.1" title="Accept">Section 6.3.2</a>) header fields in order to provide open and extensible data typing and type negotiation. Media types define both a data format 895 and various processing models: how to process that data in accordance with each context in which it is received. 895 896 </p> 896 897 <div id="rfc.figure.u.1"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#media.type" class="smpl">media-type</a> = <a href="#media.type" class="smpl">type</a> "/" <a href="#media.type" class="smpl">subtype</a> *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> ) … … 916 917 text/html; charset="utf-8" 917 918 </pre><p id="rfc.section.3.1.1.1.p.8">Media-type values are registered with the Internet Assigned Number Authority (IANA). The media type registration process is 918 outlined in <a href="# RFC4288" id="rfc.xref.RFC4288.1"><cite title="Media Type Specifications and Registration Procedures">[RFC4288]</cite></a>. Use of non-registered media types is discouraged.919 outlined in <a href="#BCP13" id="rfc.xref.BCP13.1"><cite title="Media Type Specifications and Registration Procedures">[BCP13]</cite></a>. Use of non-registered media types is discouraged. 919 920 </p> 920 921 <h4 id="rfc.section.3.1.1.2"><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a id="charset" href="#charset">Charset</a></h4> … … 970 971 sniffing" when it is used. 971 972 </p> 972 <h3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a id="data.encoding" href="#data.encoding"> Data Encoding</a></h3>973 <h3 id="rfc.section.3.1.2"><a href="#rfc.section.3.1.2">3.1.2</a> <a id="data.encoding" href="#data.encoding">Encoding for Compression or Integrity</a></h3> 973 974 <div id="rfc.iref.c.3"></div> 974 975 <div id="rfc.iref.c.4"></div> … … 3456 3457 </div> 3457 3458 <h2 id="rfc.section.9.3"><a href="#rfc.section.9.3">9.3</a> <a id="header.field.registry" href="#header.field.registry">Header Field Registry</a></h2> 3458 <p id="rfc.section.9.3.p.1">HTTP header fields are registered within the Message Header Field Registry located at <<a href="http://www.iana.org/assignments/message-headers/message-header-index.html">http://www.iana.org/assignments/message-headers/message-header-index.html</a>>, as defined by <a href="# RFC3864" id="rfc.xref.RFC3864.1"><cite title="Registration Procedures for Message Header Fields">[RFC3864]</cite></a>.3459 <p id="rfc.section.9.3.p.1">HTTP header fields are registered within the Message Header Field Registry located at <<a href="http://www.iana.org/assignments/message-headers/message-header-index.html">http://www.iana.org/assignments/message-headers/message-header-index.html</a>>, as defined by <a href="#BCP90" id="rfc.xref.BCP90.1"><cite title="Registration Procedures for Message Header Fields">[BCP90]</cite></a>. 3459 3460 </p> 3460 3461 <h3 id="rfc.section.9.3.1"><a href="#rfc.section.9.3.1">9.3.1</a> <a id="considerations.for.new.header.fields" href="#considerations.for.new.header.fields">Considerations for New Header Fields</a></h3> … … 3462 3463 or the connection (i.e., control data). See <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a> of <a href="#Part1" id="rfc.xref.Part1.31"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a> for a general definition of header field syntax in HTTP messages. 3463 3464 </p> 3464 <p id="rfc.section.9.3.1.p.2">The requirements for header field names are defined in <a href=" http://tools.ietf.org/html/rfc3864#section-4.1">Section 4.1</a> of <a href="#RFC3864" id="rfc.xref.RFC3864.2"><cite title="Registration Procedures for Message Header Fields">[RFC3864]</cite></a>. Authors of specifications defining new fields are advised to keep the name as short as practical, and not to prefix them3465 <p id="rfc.section.9.3.1.p.2">The requirements for header field names are defined in <a href="#BCP90" id="rfc.xref.BCP90.2"><cite title="Registration Procedures for Message Header Fields">[BCP90]</cite></a>. Authors of specifications defining new fields are advised to keep the name as short as practical, and not to prefix them 3465 3466 with "X-" if they are to be registered (either immediately or in the future). 3466 3467 </p> … … 3908 3909 <table> 3909 3910 <tr> 3911 <td class="reference"><b id="BCP13">[BCP13]</b></td> 3912 <td class="top"><a href="mailto:ned.freed@mrochek.com" title="Sun Microsystems">Freed, N.</a> and <a href="mailto:klensin+ietf@jck.com">J. Klensin</a>, “<a href="http://tools.ietf.org/html/rfc4288">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 4288, December 2005. 3913 </td> 3914 </tr> 3915 <tr> 3916 <td class="reference"><b id="BCP90">[BCP90]</b></td> 3917 <td class="top"><a href="mailto:GK-IETF@ninebynine.org" title="Nine by Nine">Klyne, G.</a>, <a href="mailto:mnot@pobox.com" title="BEA Systems">Nottingham, M.</a>, and <a href="mailto:JeffMogul@acm.org" title="HP Labs">J. Mogul</a>, “<a href="http://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 3918 </td> 3919 </tr> 3920 <tr> 3910 3921 <td class="reference"><b id="REST">[REST]</b></td> 3911 3922 <td class="top">Fielding, R., “<a href="http://roy.gbiv.com/pubs/dissertation/top.htm">Architectural Styles and the Design of Network-based Software Architectures</a>”, Doctoral Dissertation, University of California, Irvine, September 2000, <<a href="http://roy.gbiv.com/pubs/dissertation/top.htm">http://roy.gbiv.com/pubs/dissertation/top.htm</a>>. … … 3968 3979 </tr> 3969 3980 <tr> 3970 <td class="reference"><b id="RFC3864">[RFC3864]</b></td>3971 <td class="top"><a href="mailto:GK-IETF@ninebynine.org" title="Nine by Nine">Klyne, G.</a>, <a href="mailto:mnot@pobox.com" title="BEA Systems">Nottingham, M.</a>, and <a href="mailto:JeffMogul@acm.org" title="HP Labs">J. Mogul</a>, “<a href="http://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004.3972 </td>3973 </tr>3974 <tr>3975 <td class="reference"><b id="RFC4288">[RFC4288]</b></td>3976 <td class="top"><a href="mailto:ned.freed@mrochek.com" title="Sun Microsystems">Freed, N.</a> and <a href="mailto:klensin+ietf@jck.com">J. Klensin</a>, “<a href="http://tools.ietf.org/html/rfc4288">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 4288, December 2005.3977 </td>3978 </tr>3979 <tr>3980 3981 <td class="reference"><b id="RFC5226">[RFC5226]</b></td> 3981 3982 <td class="top"><a href="mailto:narten@us.ibm.com" title="IBM">Narten, T.</a> and <a href="mailto:Harald@Alvestrand.no" title="Google">H. Alvestrand</a>, “<a href="http://tools.ietf.org/html/rfc5226">Guidelines for Writing an IANA Considerations Section in RFCs</a>”, BCP 26, RFC 5226, May 2008. … … 4084 4085 </p> 4085 4086 <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="changes.from.rfc.2616" href="#changes.from.rfc.2616">Changes from RFC 2616</a></h1> 4086 <p id="rfc.section.C.p.1">The term "representation" is introduced, replacing both "entity" and "variant." (<a href="#representations" title="Representations">Section 3</a>) 4087 </p> 4088 <p id="rfc.section.C.p.2">"Server-Driven" and "agent-driven" content negotiation are now called "proactive" and "reactive" content negotiation (respectively). 4087 <p id="rfc.section.C.p.1">Request semantics embedded in a URI should be disabled when those semantics are inconsistent with the request method, since 4088 this is a common cause of interoperability failure. 4089 </p> 4090 <p id="rfc.section.C.p.2">The term "representation" is introduced, replacing both "entity" and "variant." (<a href="#representations" title="Representations">Section 3</a>) 4091 </p> 4092 <p id="rfc.section.C.p.3">Rules for identifying the payload of a message have been defined. (<a href="#identifying.payload" title="Identifying a Representation">Section 3.1.4.1</a>) 4093 </p> 4094 <p id="rfc.section.C.p.4">"Server-Driven" and "agent-driven" content negotiation are now called "proactive" and "reactive" content negotiation (respectively). 4089 4095 (<a href="#content.negotiation" title="Content Negotiation">Section 3.4</a>) 4090 4096 </p> 4091 <p id="rfc.section.C.p. 3"> <a href="#header.content-location" class="smpl">Content-Location</a> no longer sets a base URI, due to poor implementation support (which was caused by too many broken servers emitting bogus4097 <p id="rfc.section.C.p.5"> <a href="#header.content-location" class="smpl">Content-Location</a> no longer sets a base URI, due to poor implementation support (which was caused by too many broken servers emitting bogus 4092 4098 Content-Location header fields, and also the potentially undesirable effect of potentially breaking relative links in content-negotiated 4093 4099 resources). (<a href="#header.content-location" id="rfc.xref.header.content-location.5" title="Content-Location">Section 3.1.4.2</a>) 4094 4100 </p> 4095 <p id="rfc.section.C.p.4">Rules for identifying the payload of a message have been defined. (<a href="#identifying.payload" title="Identifying a Representation">Section 3.1.4.1</a>) 4096 </p> 4097 <p id="rfc.section.C.p.5">GET requests can have a body; it just has no meaning. (<a href="#GET" id="rfc.xref.GET.4" title="GET">Section 5.3.1</a>) 4098 </p> 4099 <p id="rfc.section.C.p.6">The definition of POST has been clarified. (<a href="#POST" id="rfc.xref.POST.4" title="POST">Section 5.3.3</a>) 4100 </p> 4101 <p id="rfc.section.C.p.7">Servers are no longer required to handle all Content-* header fields in requests. (<a href="#PUT" id="rfc.xref.PUT.4" title="PUT">Section 5.3.4</a>) 4102 </p> 4103 <p id="rfc.section.C.p.8">Use of <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> is explicitly banned on PUT requests. (<a href="#PUT" id="rfc.xref.PUT.5" title="PUT">Section 5.3.4</a>) 4104 </p> 4105 <p id="rfc.section.C.p.9">The CONNECT method is now defined by this specification, taking over from <a href="#RFC2817" id="rfc.xref.RFC2817.2"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#CONNECT" id="rfc.xref.CONNECT.3" title="CONNECT">Section 5.3.6</a>) 4106 </p> 4107 <p id="rfc.section.C.p.10">The requirements upon and semantics of CONNECT request and response bodies have been clarified. (<a href="#CONNECT" id="rfc.xref.CONNECT.4" title="CONNECT">Section 5.3.6</a>) 4108 </p> 4109 <p id="rfc.section.C.p.11">The <a href="#OPTIONS" class="smpl">OPTIONS</a> and <a href="#TRACE" class="smpl">TRACE</a> request methods are now defined as being safe. (<a href="#OPTIONS" id="rfc.xref.OPTIONS.4" title="OPTIONS">Section 5.3.7</a> and <a href="#TRACE" id="rfc.xref.TRACE.5" title="TRACE">Section 5.3.8</a>) 4110 </p> 4111 <p id="rfc.section.C.p.12">The <a href="#header.max-forwards" class="smpl">Max-Forwards</a> header field is now restricted to the OPTIONS and TRACE methods (previously, extension methods could have used it as well). 4101 <p id="rfc.section.C.p.6">GET requests can have a body; it just has no meaning. (<a href="#GET" id="rfc.xref.GET.4" title="GET">Section 5.3.1</a>) 4102 </p> 4103 <p id="rfc.section.C.p.7">The definition of POST has been clarified. (<a href="#POST" id="rfc.xref.POST.4" title="POST">Section 5.3.3</a>) 4104 </p> 4105 <p id="rfc.section.C.p.8">Servers are no longer required to handle all Content-* header fields in requests. (<a href="#PUT" id="rfc.xref.PUT.4" title="PUT">Section 5.3.4</a>) 4106 </p> 4107 <p id="rfc.section.C.p.9">Use of <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> is explicitly banned on PUT requests. (<a href="#PUT" id="rfc.xref.PUT.5" title="PUT">Section 5.3.4</a>) 4108 </p> 4109 <p id="rfc.section.C.p.10">The CONNECT method is now defined by this specification, taking over from <a href="#RFC2817" id="rfc.xref.RFC2817.2"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#CONNECT" id="rfc.xref.CONNECT.3" title="CONNECT">Section 5.3.6</a>) 4110 </p> 4111 <p id="rfc.section.C.p.11">The requirements upon and semantics of CONNECT request and response bodies have been clarified. (<a href="#CONNECT" id="rfc.xref.CONNECT.4" title="CONNECT">Section 5.3.6</a>) 4112 </p> 4113 <p id="rfc.section.C.p.12">The <a href="#OPTIONS" class="smpl">OPTIONS</a> and <a href="#TRACE" class="smpl">TRACE</a> request methods are now defined as being safe. (<a href="#OPTIONS" id="rfc.xref.OPTIONS.4" title="OPTIONS">Section 5.3.7</a> and <a href="#TRACE" id="rfc.xref.TRACE.5" title="TRACE">Section 5.3.8</a>) 4114 </p> 4115 <p id="rfc.section.C.p.13">The <a href="#header.max-forwards" class="smpl">Max-Forwards</a> header field is now restricted to the OPTIONS and TRACE methods (previously, extension methods could have used it as well). 4112 4116 (<a href="#header.max-forwards" id="rfc.xref.header.max-forwards.5" title="Max-Forwards">Section 6.1.1</a>) 4113 4117 </p> 4114 <p id="rfc.section.C.p.1 3">The ABNF for the "<a href="#header.expect" class="smpl">Expect</a>" header field has been both fixed (allowing parameters for value-less expectations as well) and simplified (allowing trailing4118 <p id="rfc.section.C.p.14">The ABNF for the "<a href="#header.expect" class="smpl">Expect</a>" header field has been both fixed (allowing parameters for value-less expectations as well) and simplified (allowing trailing 4115 4119 semicolons after "100-continue" when they were invalid before). (<a href="#header.expect" id="rfc.xref.header.expect.4" title="Expect">Section 6.1.2</a>) 4116 4120 </p> 4117 <p id="rfc.section.C.p.1 4">Special casing for ISO-8859-1 in <a href="#header.accept-charset" class="smpl">Accept-Charset</a> has been removed. (<a href="#header.accept-charset" id="rfc.xref.header.accept-charset.4" title="Accept-Charset">Section 6.3.3</a>)4118 </p> 4119 <p id="rfc.section.C.p.1 5">Requirements for sending the Date header field have been clarified. (<a href="#header.date" id="rfc.xref.header.date.4" title="Date">Section 8.1.1.2</a>)4120 </p> 4121 <p id="rfc.section.C.p.1 6">The <a href="#header.referer" class="smpl">Referer</a> header field can now have a value of "about:blank" as an alternative to not sending a Referer header field. (<a href="#header.referer" id="rfc.xref.header.referer.3" title="Referer">Section 6.5.2</a>)4122 </p> 4123 <p id="rfc.section.C.p.1 7">The <a href="#status.201" class="smpl">201 (Created)</a> status code can indicate that more than one resource has been created (as well as just one).4124 </p> 4125 <p id="rfc.section.C.p.1 8">The definition of <a href="#status.203" class="smpl">203 (Non-Authoritative Information)</a> has been broadened to include cases of payload transformations as well. (<a href="#status.203" id="rfc.xref.status.203.3" title="203 Non-Authoritative Information">Section 7.3.4</a>)4126 </p> 4127 <p id="rfc.section.C.p. 19">Redirect status codes <a href="#status.301" class="smpl">301</a>, <a href="#status.302" class="smpl">302</a>, and <a href="#status.307" class="smpl">307</a> no longer have normative requirements on response payloads and user interaction. (<a href="#status.3xx" id="rfc.xref.status.3xx.1" title="Redirection 3xx">Section 7.4</a>)4128 </p> 4129 <p id="rfc.section.C.p.2 0">The request methods that are safe to automatically redirect is no longer a closed set; user agents are able to make that determination4121 <p id="rfc.section.C.p.15">Special casing for ISO-8859-1 in <a href="#header.accept-charset" class="smpl">Accept-Charset</a> has been removed. (<a href="#header.accept-charset" id="rfc.xref.header.accept-charset.4" title="Accept-Charset">Section 6.3.3</a>) 4122 </p> 4123 <p id="rfc.section.C.p.16">Requirements for sending the Date header field have been clarified. (<a href="#header.date" id="rfc.xref.header.date.4" title="Date">Section 8.1.1.2</a>) 4124 </p> 4125 <p id="rfc.section.C.p.17">The <a href="#header.referer" class="smpl">Referer</a> header field can now have a value of "about:blank" as an alternative to not sending a Referer header field. (<a href="#header.referer" id="rfc.xref.header.referer.3" title="Referer">Section 6.5.2</a>) 4126 </p> 4127 <p id="rfc.section.C.p.18">The <a href="#status.201" class="smpl">201 (Created)</a> status code can indicate that more than one resource has been created (as well as just one). 4128 </p> 4129 <p id="rfc.section.C.p.19">The definition of <a href="#status.203" class="smpl">203 (Non-Authoritative Information)</a> has been broadened to include cases of payload transformations as well. (<a href="#status.203" id="rfc.xref.status.203.3" title="203 Non-Authoritative Information">Section 7.3.4</a>) 4130 </p> 4131 <p id="rfc.section.C.p.20">Redirect status codes <a href="#status.301" class="smpl">301</a>, <a href="#status.302" class="smpl">302</a>, and <a href="#status.307" class="smpl">307</a> no longer have normative requirements on response payloads and user interaction. (<a href="#status.3xx" id="rfc.xref.status.3xx.1" title="Redirection 3xx">Section 7.4</a>) 4132 </p> 4133 <p id="rfc.section.C.p.21">The request methods that are safe to automatically redirect is no longer a closed set; user agents are able to make that determination 4130 4134 based upon the request method semantics. (<a href="#status.3xx" id="rfc.xref.status.3xx.2" title="Redirection 3xx">Section 7.4</a>) 4131 4135 </p> 4132 <p id="rfc.section.C.p.2 1">The syntax of the <a href="#header.location" class="smpl">Location</a> header field has been corrected to allow URI references (including relative references and fragments), along with some clarifications4136 <p id="rfc.section.C.p.22">The syntax of the <a href="#header.location" class="smpl">Location</a> header field has been corrected to allow URI references (including relative references and fragments), along with some clarifications 4133 4137 as to when use of fragments would not be appropriate. (<a href="#header.location" id="rfc.xref.header.location.5" title="Location">Section 8.1.2</a>) 4134 4138 </p> 4135 <p id="rfc.section.C.p.2 2">The 303 (See Other) status code is now cacheable, if explicit freshness information is available. (<a href="#status.303" id="rfc.xref.status.303.3" title="303 See Other">Section 7.4.4</a>)4136 </p> 4137 <p id="rfc.section.C.p.2 3">User agents are now allowed to rewrite the method from POST to GET for status codes <a href="#status.301" class="smpl">301</a> and <a href="#status.302" class="smpl">302</a>. (Sections <a href="#status.301" id="rfc.xref.status.301.3" title="301 Moved Permanently">7.4.2</a>, <a href="#status.302" id="rfc.xref.status.302.3" title="302 Found">7.4.3</a> and <a href="#status.307" id="rfc.xref.status.307.3" title="307 Temporary Redirect">7.4.7</a>)4138 </p> 4139 <p id="rfc.section.C.p.2 4">The <a href="#status.305" class="smpl">305 (Use Proxy)</a> status code is now deprecated, because user agents did not implement it. It used to indicate that the target resource needed4139 <p id="rfc.section.C.p.23">The 303 (See Other) status code is now cacheable, if explicit freshness information is available. (<a href="#status.303" id="rfc.xref.status.303.3" title="303 See Other">Section 7.4.4</a>) 4140 </p> 4141 <p id="rfc.section.C.p.24">User agents are now allowed to rewrite the method from POST to GET for status codes <a href="#status.301" class="smpl">301</a> and <a href="#status.302" class="smpl">302</a>. (Sections <a href="#status.301" id="rfc.xref.status.301.3" title="301 Moved Permanently">7.4.2</a>, <a href="#status.302" id="rfc.xref.status.302.3" title="302 Found">7.4.3</a> and <a href="#status.307" id="rfc.xref.status.307.3" title="307 Temporary Redirect">7.4.7</a>) 4142 </p> 4143 <p id="rfc.section.C.p.25">The <a href="#status.305" class="smpl">305 (Use Proxy)</a> status code is now deprecated, because user agents did not implement it. It used to indicate that the target resource needed 4140 4144 to be accessed through the proxy given by the <a href="#header.location" class="smpl">Location</a> field. The recipient was expected to repeat this single request via the proxy. (<a href="#status.305" id="rfc.xref.status.305.3" title="305 Use Proxy">Section 7.4.5</a>) 4141 4145 </p> 4142 <p id="rfc.section.C.p.2 5">The <a href="#status.400" class="smpl">400 (Bad Request)</a> status code has been made more generic; it isn't limited to syntax errors. (<a href="#status.400" id="rfc.xref.status.400.3" title="400 Bad Request">Section 7.5.1</a>)4143 </p> 4144 <p id="rfc.section.C.p.2 6">The <a href="#status.403" class="smpl">403 (Forbidden)</a> status code has been clarified, especially with regards to authentication. (<a href="#status.403" id="rfc.xref.status.403.3" title="403 Forbidden">Section 7.5.3</a>)4145 </p> 4146 <p id="rfc.section.C.p.2 7">The <a href="#status.426" class="smpl">426 (Upgrade Required)</a> status code has been incorporated from <a href="#RFC2817" id="rfc.xref.RFC2817.3"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#status.426" id="rfc.xref.status.426.3" title="426 Upgrade Required">Section 7.5.15</a>)4147 </p> 4148 <p id="rfc.section.C.p.2 8"> <a href="#header.allow" class="smpl">Allow</a> has been reclassified as a response header field, removing the option to specify it in a PUT request. (<a href="#header.allow" id="rfc.xref.header.allow.4" title="Allow">Section 8.4.1</a>)4149 </p> 4150 <p id="rfc.section.C.p. 29">Requirements relating to the content of the Allow header have been relaxed; correspondingly, clients are not required to always4146 <p id="rfc.section.C.p.26">The <a href="#status.400" class="smpl">400 (Bad Request)</a> status code has been made more generic; it isn't limited to syntax errors. (<a href="#status.400" id="rfc.xref.status.400.3" title="400 Bad Request">Section 7.5.1</a>) 4147 </p> 4148 <p id="rfc.section.C.p.27">The <a href="#status.403" class="smpl">403 (Forbidden)</a> status code has been clarified, especially with regards to authentication. (<a href="#status.403" id="rfc.xref.status.403.3" title="403 Forbidden">Section 7.5.3</a>) 4149 </p> 4150 <p id="rfc.section.C.p.28">The <a href="#status.426" class="smpl">426 (Upgrade Required)</a> status code has been incorporated from <a href="#RFC2817" id="rfc.xref.RFC2817.3"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#status.426" id="rfc.xref.status.426.3" title="426 Upgrade Required">Section 7.5.15</a>) 4151 </p> 4152 <p id="rfc.section.C.p.29"> <a href="#header.allow" class="smpl">Allow</a> has been reclassified as a response header field, removing the option to specify it in a PUT request. (<a href="#header.allow" id="rfc.xref.header.allow.4" title="Allow">Section 8.4.1</a>) 4153 </p> 4154 <p id="rfc.section.C.p.30">Requirements relating to the content of the Allow header have been relaxed; correspondingly, clients are not required to always 4151 4155 trust its value. (<a href="#header.allow" id="rfc.xref.header.allow.5" title="Allow">Section 8.4.1</a>) 4152 4156 </p> 4153 <p id="rfc.section.C.p.3 0">The requirement to generate a <a href="p1-messaging.html#header.via" class="smpl">Via</a> header field has been moved from the description of the <a href="#header.server" class="smpl">Server</a> header field to <a href="p1-messaging.html#header.via" title="Via">Section 5.7.1</a> of <a href="#Part1" id="rfc.xref.Part1.44"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section 8.4.2</a>)4154 </p> 4155 <p id="rfc.section.C.p.3 1">The contexts that charset is used in have been clarified. (<a href="#charset" title="Charset">Section 3.1.1.2</a>)4156 </p> 4157 <p id="rfc.section.C.p.3 2">The default charset of "ISO-8859-1" for text media types has been removed; the default now is whatever the media type definition4157 <p id="rfc.section.C.p.31">The requirement to generate a <a href="p1-messaging.html#header.via" class="smpl">Via</a> header field has been moved from the description of the <a href="#header.server" class="smpl">Server</a> header field to <a href="p1-messaging.html#header.via" title="Via">Section 5.7.1</a> of <a href="#Part1" id="rfc.xref.Part1.44"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section 8.4.2</a>) 4158 </p> 4159 <p id="rfc.section.C.p.32">The contexts that charset is used in have been clarified. (<a href="#charset" title="Charset">Section 3.1.1.2</a>) 4160 </p> 4161 <p id="rfc.section.C.p.33">The default charset of "ISO-8859-1" for text media types has been removed; the default now is whatever the media type definition 4158 4162 says. (<a href="#canonicalization.and.text.defaults" title="Canonicalization and Text Defaults">Section 3.1.1.3</a>) 4159 4163 </p> 4160 <p id="rfc.section.C.p.3 3">Registration of Content Codings now requires IETF Review. (<a href="#content.coding.registry" title="Content Coding Registry">Section 9.4</a>)4161 </p> 4162 <p id="rfc.section.C.p.3 4">The Content-MD5 header field has been removed, because it was inconsistently implemented with respect to partial responses,4164 <p id="rfc.section.C.p.34">Registration of Content Codings now requires IETF Review. (<a href="#content.coding.registry" title="Content Coding Registry">Section 9.4</a>) 4165 </p> 4166 <p id="rfc.section.C.p.35">The Content-MD5 header field has been removed, because it was inconsistently implemented with respect to partial responses, 4163 4167 and also because of known deficiencies in the hash algorithm itself (see <a href="#RFC6151" id="rfc.xref.RFC6151.1"><cite title="Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms">[RFC6151]</cite></a> for details). 4164 4168 </p> 4165 <p id="rfc.section.C.p.3 5">This specification introduces a Method Registry. (<a href="#method.registry" title="Method Registry">Section 9.1</a>)4166 </p> 4167 <p id="rfc.section.C.p.3 6">The Status Code Registry is now defined by this specification; previously, it was defined in <a href="http://tools.ietf.org/html/rfc2817#section-7.1">Section 7.1</a> of <a href="#RFC2817" id="rfc.xref.RFC2817.4"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#status.code.registry" title="Status Code Registry">Section 9.2</a>)4168 </p> 4169 <p id="rfc.section.C.p.3 7">References to the "identity" transfer coding token have been removed. (<a href="#no.content-transfer-encoding" id="rfc.xref.no.content-transfer-encoding.1" title="No Content-Transfer-Encoding">Appendix A.5</a>)4170 </p> 4171 <p id="rfc.section.C.p.3 8">The Content-Disposition header field is now defined by <a href="#RFC6266" id="rfc.xref.RFC6266.2"><cite title="Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)">[RFC6266]</cite></a>. (<a href="#additional.features" title="Additional Features">Appendix B</a>)4169 <p id="rfc.section.C.p.36">This specification introduces a Method Registry. (<a href="#method.registry" title="Method Registry">Section 9.1</a>) 4170 </p> 4171 <p id="rfc.section.C.p.37">The Status Code Registry is now defined by this specification; previously, it was defined in <a href="http://tools.ietf.org/html/rfc2817#section-7.1">Section 7.1</a> of <a href="#RFC2817" id="rfc.xref.RFC2817.4"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a>. (<a href="#status.code.registry" title="Status Code Registry">Section 9.2</a>) 4172 </p> 4173 <p id="rfc.section.C.p.38">References to the "identity" transfer coding token have been removed. (<a href="#no.content-transfer-encoding" id="rfc.xref.no.content-transfer-encoding.1" title="No Content-Transfer-Encoding">Appendix A.5</a>) 4174 </p> 4175 <p id="rfc.section.C.p.39">The Content-Disposition header field is now defined by <a href="#RFC6266" id="rfc.xref.RFC6266.2"><cite title="Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)">[RFC6266]</cite></a>. (<a href="#additional.features" title="Additional Features">Appendix B</a>) 4172 4176 </p> 4173 4177 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="imported.abnf" href="#imported.abnf">Imported ABNF</a></h1> … … 4343 4347 </ul> 4344 4348 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 4345 <p class="noprint"><a href="#rfc.index.1">1</a> <a href="#rfc.index.2">2</a> <a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.5">5</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index. C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.U">U</a> <a href="#rfc.index.V">V</a> <a href="#rfc.index.X">X</a>4349 <p class="noprint"><a href="#rfc.index.1">1</a> <a href="#rfc.index.2">2</a> <a href="#rfc.index.3">3</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.5">5</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.U">U</a> <a href="#rfc.index.V">V</a> <a href="#rfc.index.X">X</a> 4346 4350 </p> 4347 4351 <div class="print2col"> … … 4410 4414 <li>Accept-Language header field <a href="#rfc.xref.header.accept-language.1">3.4.1</a>, <a href="#rfc.xref.header.accept-language.2">6.3</a>, <a href="#rfc.iref.a.4"><b>6.3.5</b></a>, <a href="#rfc.xref.header.accept-language.3">9.3.2</a></li> 4411 4415 <li>Allow header field <a href="#rfc.xref.header.allow.1">5.1</a>, <a href="#rfc.xref.header.allow.2">8.4</a>, <a href="#rfc.iref.a.5"><b>8.4.1</b></a>, <a href="#rfc.xref.header.allow.3">9.3.2</a>, <a href="#rfc.xref.header.allow.4">C</a>, <a href="#rfc.xref.header.allow.5">C</a></li> 4416 </ul> 4417 </li> 4418 <li><a id="rfc.index.B" href="#rfc.index.B"><b>B</b></a><ul> 4419 <li><em>BCP13</em> <a href="#rfc.xref.BCP13.1">3.1.1.1</a>, <a href="#BCP13"><b>12.2</b></a></li> 4420 <li><em>BCP90</em> <a href="#rfc.xref.BCP90.1">9.3</a>, <a href="#rfc.xref.BCP90.2">9.3.1</a>, <a href="#BCP90"><b>12.2</b></a></li> 4412 4421 </ul> 4413 4422 </li> … … 4662 4671 </li> 4663 4672 <li><em>RFC2978</em> <a href="#rfc.xref.RFC2978.1">3.1.1.2</a>, <a href="#RFC2978"><b>12.2</b></a></li> 4664 <li><em>RFC3864</em> <a href="#rfc.xref.RFC3864.1">9.3</a>, <a href="#rfc.xref.RFC3864.2">9.3.1</a>, <a href="#RFC3864"><b>12.2</b></a><ul>4665 <li><em>Section 4.1</em> <a href="#rfc.xref.RFC3864.2">9.3.1</a></li>4666 </ul>4667 </li>4668 4673 <li><em>RFC3986</em> <a href="#rfc.xref.RFC3986.1">8.1.2</a>, <a href="#rfc.xref.RFC3986.2">8.1.2</a>, <a href="#RFC3986"><b>12.1</b></a><ul> 4669 4674 <li><em>Section 4.2</em> <a href="#rfc.xref.RFC3986.1">8.1.2</a></li> … … 4671 4676 </ul> 4672 4677 </li> 4673 <li><em>RFC4288</em> <a href="#rfc.xref.RFC4288.1">3.1.1.1</a>, <a href="#RFC4288"><b>12.2</b></a></li>4674 4678 <li><em>RFC4647</em> <a href="#rfc.xref.RFC4647.1">6.3.5</a>, <a href="#rfc.xref.RFC4647.2">6.3.5</a>, <a href="#rfc.xref.RFC4647.3">6.3.5</a>, <a href="#rfc.xref.RFC4647.4">6.3.5</a>, <a href="#RFC4647"><b>12.1</b></a><ul> 4675 4679 <li><em>Section 2.1</em> <a href="#rfc.xref.RFC4647.1">6.3.5</a></li>
Note: See TracChangeset
for help on using the changeset viewer.