Changeset 1975 for draft-ietf-httpbis/latest/p2-semantics.html
- Timestamp:
- 05/11/12 05:10:11 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r1974 r1975 449 449 } 450 450 @bottom-center { 451 content: "Expires May 8, 2013";451 content: "Expires May 9, 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-11-0 4">498 <meta name="dct.issued" scheme="ISO8601" content="2012-11-05"> 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">November 4, 2012</td>526 <td class="right">November 5, 2012</td> 527 527 </tr> 528 528 <tr> 529 <td class="left">Expires: May 8, 2013</td>529 <td class="left">Expires: May 9, 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 May 8, 2013.</p>557 <p>This Internet-Draft will expire on May 9, 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> … … 582 582 <li><a href="#rfc.section.3.1">3.1</a> <a href="#representation.metadata">Representation Metadata</a><ul> 583 583 <li><a href="#rfc.section.3.1.1">3.1.1</a> <a href="#data.type">Data Type</a><ul> 584 <li><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a href="#media.type s">Media Types</a></li>585 <li><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a href="#char acter.sets">Character Encodings (charset)</a></li>584 <li><a href="#rfc.section.3.1.1.1">3.1.1.1</a> <a href="#media.type">Media Type</a></li> 585 <li><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a href="#charset">Charset</a></li> 586 586 <li><a href="#rfc.section.3.1.1.3">3.1.1.3</a> <a href="#canonicalization.and.text.defaults">Canonicalization and Text Defaults</a></li> 587 587 <li><a href="#rfc.section.3.1.1.4">3.1.1.4</a> <a href="#multipart.types">Multipart Types</a></li> … … 827 827 <p id="rfc.section.1.2.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with the list rule extension defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. <a href="#imported.abnf" title="Imported ABNF">Appendix D</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix E</a> shows the collected ABNF with the list rule expanded. 828 828 </p> 829 <p id="rfc.section.1.2.p.2">This specification uses the terms "character", "character encoding scheme", "charset", and "protocol element" as they are 830 defined in <a href="#RFC6365" id="rfc.xref.RFC6365.1"><cite title="Terminology Used in Internationalization in the IETF">[RFC6365]</cite></a>. 831 </p> 829 832 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="resource" href="#resource">Resource</a></h1> 830 833 <p id="rfc.section.2.p.1">The target of each HTTP request is called a resource. HTTP does not limit the nature of a resource; it merely defines an interface … … 888 891 </div> 889 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> 890 <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 s" href="#media.types">Media Types</a></h4>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> 891 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. 892 895 </p> 893 <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 s" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" 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> )894 <a href="#media.type s" class="smpl">type</a> = <a href="#imported.abnf" class="smpl">token</a>895 <a href="#media.type s" class="smpl">subtype</a> = <a href="#imported.abnf" class="smpl">token</a>896 <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> ) 897 <a href="#media.type" class="smpl">type</a> = <a href="#imported.abnf" class="smpl">token</a> 898 <a href="#media.type" class="smpl">subtype</a> = <a href="#imported.abnf" class="smpl">token</a> 896 899 </pre><div id="rule.parameter"> 897 900 <p id="rfc.section.3.1.1.1.p.3"> The type/subtype <em class="bcp14">MAY</em> be followed by parameters in the form of attribute/value pairs. … … 906 909 </p> 907 910 <p id="rfc.section.3.1.1.1.p.6">A parameter value that matches the <a href="#imported.abnf" class="smpl">token</a> production can be transmitted as either a token or within a quoted-string. The quoted and unquoted values are equivalent. 908 </p> 909 <p id="rfc.section.3.1.1.1.p.7">Media-type values are registered with the Internet Assigned Number Authority (IANA). The media type registration process is 911 For example, the following examples are all equivalent, but the first is preferred for consistency: 912 </p> 913 <div id="rfc.figure.u.3"></div><pre class="text"> text/html;charset=utf-8 914 text/html;charset=UTF-8 915 Text/HTML;Charset="utf-8" 916 text/html; charset="utf-8" 917 </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 910 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. 911 919 </p> 912 <h4 id="rfc.section.3.1.1.2"><a href="#rfc.section.3.1.1.2">3.1.1.2</a> <a id="character.sets" href="#character.sets">Character Encodings (charset)</a></h4> 913 <p id="rfc.section.3.1.1.2.p.1">HTTP uses charset names to indicate the character encoding of a textual representation.</p> 914 <div id="rule.charset"> 915 <p id="rfc.section.3.1.1.2.p.2"> A character encoding is identified by a case-insensitive token. The complete set of tokens is defined by the IANA Character 916 Set registry (<<a href="http://www.iana.org/assignments/character-sets">http://www.iana.org/assignments/character-sets</a>>). 917 </p> 918 </div> 919 <div id="rfc.figure.u.3"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#rule.charset" class="smpl">charset</a> = <a href="#imported.abnf" class="smpl">token</a> 920 </pre><p id="rfc.section.3.1.1.2.p.4">Although HTTP allows an arbitrary token to be used as a charset value, any token that has a predefined value within the IANA 921 Character Set registry <em class="bcp14">MUST</em> represent the character encoding defined by that registry. Applications <em class="bcp14">SHOULD</em> limit their use of character encodings to those defined within the IANA registry. 922 </p> 923 <p id="rfc.section.3.1.1.2.p.5">HTTP uses charset in two contexts: within an <a href="#header.accept-charset" class="smpl">Accept-Charset</a> request header field (in which the charset value is an unquoted token) and as the value of a parameter in a <a href="#header.content-type" class="smpl">Content-Type</a> header field (within a request or response), in which case the parameter value of the charset parameter can be quoted. 924 </p> 925 <p id="rfc.section.3.1.1.2.p.6">Implementers need to be aware of IETF character set requirements <a href="#RFC3629" id="rfc.xref.RFC3629.1"><cite title="UTF-8, a transformation format of ISO 10646">[RFC3629]</cite></a> <a href="#RFC2277" id="rfc.xref.RFC2277.1"><cite title="IETF Policy on Character Sets and Languages">[RFC2277]</cite></a>. 920 <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> 921 <p id="rfc.section.3.1.1.2.p.1">HTTP uses charset names to indicate or negotiate the character encoding scheme of a textual representation <a href="#RFC6365" id="rfc.xref.RFC6365.2"><cite title="Terminology Used in Internationalization in the IETF">[RFC6365]</cite></a>. A charset is identified by a case-insensitive token. 922 </p> 923 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#charset" class="smpl">charset</a> = <a href="#imported.abnf" class="smpl">token</a> 924 </pre><p id="rfc.section.3.1.1.2.p.3">The IANA Character Set registry (<<a href="http://www.iana.org/assignments/character-sets">http://www.iana.org/assignments/character-sets</a>>) maintains the set of tokens registered for use on the Internet as charset names <a href="#RFC2978" id="rfc.xref.RFC2978.1"><cite title="IANA Charset Registration Procedures">[RFC2978]</cite></a>. 926 925 </p> 927 926 <h4 id="rfc.section.3.1.1.3"><a href="#rfc.section.3.1.1.3">3.1.1.3</a> <a id="canonicalization.and.text.defaults" href="#canonicalization.and.text.defaults">Canonicalization and Text Defaults</a></h4> … … 931 930 allows the transport of text media with plain CR or LF alone representing a line break when it is done consistently for an 932 931 entire representation. HTTP applications <em class="bcp14">MUST</em> accept CRLF, bare CR, and bare LF as indicating a line break in text media received via HTTP. In addition, if the text is 933 in a character encoding that does not use octets 13 and 10 for CR and LF respectively, as is the case for some multi-byte 934 character encodings, HTTP allows the use of whatever octet sequences are defined by that character encoding to represent the 935 equivalent of CR and LF for line breaks. This flexibility regarding line breaks applies only to text media in the payload 936 body; a bare CR or LF <em class="bcp14">MUST NOT</em> be substituted for CRLF within any of the HTTP control structures (such as header fields and multipart boundaries). 932 in a charset that does not use octets 13 and 10 for CR and LF respectively, as is the case for some multi-byte charsets, HTTP 933 allows the use of whatever octet sequences are defined by that charset to represent the equivalent of CR and LF for line breaks. 934 This flexibility regarding line breaks applies only to text media in the payload body; a bare CR or LF <em class="bcp14">MUST NOT</em> be substituted for CRLF within any of the HTTP control structures (such as header fields and multipart boundaries). 937 935 </p> 938 936 <p id="rfc.section.3.1.1.3.p.3">If a representation is encoded with a content-coding, the underlying data <em class="bcp14">MUST</em> be in a form defined above prior to being encoded. … … 958 956 that data <em class="bcp14">SHOULD</em> be processed by the recipient (within the scope of the request method semantics) after any <a href="#header.content-encoding" class="smpl">Content-Encoding</a> is decoded. For responses to the HEAD method, the media type is that which would have been sent had the request been a GET. 959 957 </p> 960 <div id="rfc.figure.u. 4"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.types" class="smpl">media-type</a>961 </pre><p id="rfc.section.3.1.1.5.p.3">Media types are defined in <a href="#media.type s" title="Media Types">Section 3.1.1.1</a>. An example of the field is962 </p> 963 <div id="rfc.figure.u. 5"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-4958 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.8"></span> <a href="#header.content-type" class="smpl">Content-Type</a> = <a href="#media.type" class="smpl">media-type</a> 959 </pre><p id="rfc.section.3.1.1.5.p.3">Media types are defined in <a href="#media.type" title="Media Type">Section 3.1.1.1</a>. An example of the field is 960 </p> 961 <div id="rfc.figure.u.6"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-4 964 962 </pre><p id="rfc.section.3.1.1.5.p.5">A sender <em class="bcp14">SHOULD</em> include a Content-Type header field in a message containing a payload body, defining the media type of the enclosed representation, 965 963 unless the intended media type is unknown to the sender. If a Content-Type header field is not present, recipients <em class="bcp14">MAY</em> either assume a media type of "application/octet-stream" (<a href="#RFC2046" id="rfc.xref.RFC2046.3"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types">[RFC2046]</cite></a>, <a href="http://tools.ietf.org/html/rfc2046#section-4.5.1">Section 4.5.1</a>) or examine the representation data to determine its type. … … 985 983 directly, and only decoded by the recipient. 986 984 </p> 987 <div id="rfc.figure.u. 6"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#content.codings" class="smpl">content-coding</a> = <a href="#imported.abnf" class="smpl">token</a>985 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#content.codings" class="smpl">content-coding</a> = <a href="#imported.abnf" class="smpl">token</a> 988 986 </pre><p id="rfc.section.3.1.2.1.p.3">All content-coding values are case-insensitive and <em class="bcp14">SHOULD</em> be registered within the HTTP Content Coding registry, as defined in <a href="#content.coding.registry" title="Content Coding Registry">Section 9.4</a>. They are used in the <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> (<a href="#header.accept-encoding" id="rfc.xref.header.accept-encoding.1" title="Accept-Encoding">Section 6.3.4</a>) and <a href="#header.content-encoding" class="smpl">Content-Encoding</a> (<a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section 3.1.2.2</a>) header fields. 989 987 </p> … … 1004 1002 of its underlying media type. 1005 1003 </p> 1006 <div id="rfc.figure.u. 7"></div><pre class="inline"><span id="rfc.iref.g.11"></span> <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = 1#<a href="#content.codings" class="smpl">content-coding</a>1004 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.11"></span> <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = 1#<a href="#content.codings" class="smpl">content-coding</a> 1007 1005 </pre><p id="rfc.section.3.1.2.2.p.3">An example of its use is</p> 1008 <div id="rfc.figure.u. 8"></div><pre class="text"> Content-Encoding: gzip1006 <div id="rfc.figure.u.9"></div><pre class="text"> Content-Encoding: gzip 1009 1007 </pre><p id="rfc.section.3.1.2.2.p.5">If multiple encodings have been applied to a representation, the content codings <em class="bcp14">MUST</em> be listed in the order in which they were applied. Additional information about the encoding parameters <em class="bcp14">MAY</em> be provided by other header fields not defined by this specification. 1010 1008 </p> … … 1033 1031 of subtags: 1034 1032 </p> 1035 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.12"></span> <a href="#language.tags" class="smpl">language-tag</a> = <Language-Tag, defined in <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="http://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>>1033 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.12"></span> <a href="#language.tags" class="smpl">language-tag</a> = <Language-Tag, defined in <a href="#RFC5646" id="rfc.xref.RFC5646.2"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a>, <a href="http://tools.ietf.org/html/rfc5646#section-2.1">Section 2.1</a>> 1036 1034 </pre><p id="rfc.section.3.1.3.1.p.4">White space is not allowed within the tag and all tags are case-insensitive. The name space of language subtags is administered 1037 1035 by the IANA (see <<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>>). 1038 1036 </p> 1039 <div id="rfc.figure.u.1 0"></div>1037 <div id="rfc.figure.u.11"></div> 1040 1038 <p>Example tags include:</p> <pre class="text"> en, en-US, es-419, az-Arab, x-pig-latin, man-Nkoo-GN 1041 1039 </pre> <p id="rfc.section.3.1.3.1.p.6">See <a href="#RFC5646" id="rfc.xref.RFC5646.3"><cite title="Tags for Identifying Languages">[RFC5646]</cite></a> for further information. … … 1046 1044 that this might not be equivalent to all the languages used within the representation. 1047 1045 </p> 1048 <div id="rfc.figure.u.1 1"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#header.content-language" class="smpl">Content-Language</a> = 1#<a href="#language.tags" class="smpl">language-tag</a>1046 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.13"></span> <a href="#header.content-language" class="smpl">Content-Language</a> = 1#<a href="#language.tags" class="smpl">language-tag</a> 1049 1047 </pre><p id="rfc.section.3.1.3.2.p.3">Language tags are defined in <a href="#language.tags" title="Language Tags">Section 3.1.3.1</a>. The primary purpose of Content-Language is to allow a user to identify and differentiate representations according to the 1050 1048 users' own preferred language. Thus, if the content is intended only for a Danish-literate audience, the appropriate field 1051 1049 is 1052 1050 </p> 1053 <div id="rfc.figure.u.1 2"></div><pre class="text"> Content-Language: da1051 <div id="rfc.figure.u.13"></div><pre class="text"> Content-Language: da 1054 1052 </pre><p id="rfc.section.3.1.3.2.p.5">If no Content-Language is specified, the default is that the content is intended for all language audiences. This might mean 1055 1053 that the sender does not consider it to be specific to any natural language, or that the sender does not know for which language … … 1059 1057 simultaneously in the original Maori and English versions, would call for 1060 1058 </p> 1061 <div id="rfc.figure.u.1 3"></div><pre class="text"> Content-Language: mi, en1059 <div id="rfc.figure.u.14"></div><pre class="text"> Content-Language: mi, en 1062 1060 </pre><p id="rfc.section.3.1.3.2.p.8">However, just because multiple languages are present within a representation does not mean that it is intended for multiple 1063 1061 linguistic audiences. An example would be a beginner's language primer, such as "A First Lesson in Latin", which is clearly … … 1102 1100 message payload. In other words, if one were to perform a GET on this URI at the time of this message's generation, then a <a href="#status.200" class="smpl">200 (OK)</a> response would contain the same representation that is enclosed as payload in this message. 1103 1101 </p> 1104 <div id="rfc.figure.u.1 4"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a>1102 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.14"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a> 1105 1103 </pre><p id="rfc.section.3.1.4.2.p.3">The Content-Location value is not a replacement for the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#Part1" id="rfc.xref.Part1.12"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>). It is representation metadata. It has the same syntax and semantics as the header field of the same name defined for MIME 1106 1104 body parts in <a href="http://tools.ietf.org/html/rfc2557#section-4">Section 4</a> of <a href="#RFC2557" id="rfc.xref.RFC2557.1"><cite title="MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)">[RFC2557]</cite></a>. However, its appearance in an HTTP message has some special implications for HTTP recipients. … … 1149 1147 <p id="rfc.section.3.2.p.2">The data type of the representation data is determined via the header fields <a href="#header.content-type" class="smpl">Content-Type</a> and <a href="#header.content-encoding" class="smpl">Content-Encoding</a>. These define a two-layer, ordered encoding model: 1150 1148 </p> 1151 <div id="rfc.figure.u.1 5"></div><pre class="text"> representation-data := Content-Encoding( Content-Type( bits ) )1149 <div id="rfc.figure.u.16"></div><pre class="text"> representation-data := Content-Encoding( Content-Type( bits ) ) 1152 1150 </pre><div id="rfc.iref.p.1"></div> 1153 1151 <h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> <a id="payload" href="#payload">Payload Semantics</a></h2> … … 1196 1194 <p id="rfc.section.3.4.p.1">HTTP responses include a representation which contains information for interpretation, whether by a human user or for further 1197 1195 processing. Often, the server has different ways of representing the same information; for example, in different formats, 1198 languages, or using different char acter encodings.1196 languages, or using different charsets. 1199 1197 </p> 1200 1198 <p id="rfc.section.3.4.p.2">HTTP clients and their users might have different or variable capabilities, characteristics or preferences which would influence … … 1278 1276 By convention, the products are listed in order of their significance for identifying the application. 1279 1277 </p> 1280 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#imported.abnf" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>]1278 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span> <a href="#product.tokens" class="smpl">product</a> = <a href="#imported.abnf" class="smpl">token</a> ["/" <a href="#product.tokens" class="smpl">product-version</a>] 1281 1279 <a href="#product.tokens" class="smpl">product-version</a> = <a href="#imported.abnf" class="smpl">token</a> 1282 1280 </pre><p id="rfc.section.4.p.3">Examples:</p> 1283 <div id="rfc.figure.u.1 7"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b31281 <div id="rfc.figure.u.18"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 1284 1282 Server: Apache/0.8.4 1285 1283 </pre><p id="rfc.section.4.p.5">Product tokens <em class="bcp14">SHOULD</em> be short and to the point. They <em class="bcp14">MUST NOT</em> be used for advertising or other non-essential information. Although any token octet <em class="bcp14">MAY</em> appear in a product-version, this token <em class="bcp14">SHOULD</em> only be used for a version identifier (i.e., successive versions of the same product <em class="bcp14">SHOULD</em> only differ in the product-version portion of the product value). … … 1290 1288 this request and what is expected by the client as a successful result. The request semantics <em class="bcp14">MAY</em> be further specialized by the semantics of some header fields when present in a request (<a href="#request.header.fields" title="Request Header Fields">Section 6</a>) if those additional semantics do not conflict with the method. 1291 1289 </p> 1292 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.17"></span> <a href="#method.overview" class="smpl">method</a> = <a href="#imported.abnf" class="smpl">token</a>1290 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.17"></span> <a href="#method.overview" class="smpl">method</a> = <a href="#imported.abnf" class="smpl">token</a> 1293 1291 </pre><p id="rfc.section.5.1.p.3">HTTP was originally designed to be usable as an interface to distributed object systems. The request method was envisioned 1294 1292 as applying semantics to a target resource in much the same way as invoking a defined method on an identified object would … … 1558 1556 For example, 1559 1557 </p> 1560 <div id="rfc.figure.u. 19"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.11558 <div id="rfc.figure.u.20"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.1 1561 1559 Host: server.example.com:80 1562 1560 … … 1571 1569 </p> 1572 1570 <p id="rfc.section.5.3.6.p.7">Proxy authentication might be used to establish the authority to create a tunnel:</p> 1573 <div id="rfc.figure.u.2 0"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.11571 <div id="rfc.figure.u.21"></div><pre class="text2">CONNECT server.example.com:80 HTTP/1.1 1574 1572 Host: server.example.com:80 1575 1573 Proxy-Authorization: basic aGVsbG86d29ybGQ= … … 1664 1662 to trace a request which appears to be failing or looping mid-chain. 1665 1663 </p> 1666 <div id="rfc.figure.u.2 1"></div><pre class="inline"><span id="rfc.iref.g.19"></span> <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>1664 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.19"></span> <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 1667 1665 </pre><p id="rfc.section.6.1.1.p.3">The Max-Forwards value is a decimal integer indicating the remaining number of times this request message can be forwarded.</p> 1668 1666 <p id="rfc.section.6.1.1.p.4">Each recipient of a TRACE or OPTIONS request containing a Max-Forwards header field <em class="bcp14">MUST</em> check and update its value prior to forwarding the request. If the received value is zero (0), the recipient <em class="bcp14">MUST NOT</em> forward the request; instead, it <em class="bcp14">MUST</em> respond as the final recipient. If the received Max-Forwards value is greater than zero, then the forwarded message <em class="bcp14">MUST</em> contain an updated Max-Forwards field with a value decremented by one (1). … … 1673 1671 <h3 id="rfc.section.6.1.2"><a href="#rfc.section.6.1.2">6.1.2</a> <a id="header.expect" href="#header.expect">Expect</a></h3> 1674 1672 <p id="rfc.section.6.1.2.p.1">The "Expect" header field is used to indicate that particular server behaviors are required by the client.</p> 1675 <div id="rfc.figure.u.2 2"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#header.expect" class="smpl">Expect</a> = 1#<a href="#header.expect" class="smpl">expectation</a>1673 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#header.expect" class="smpl">Expect</a> = 1#<a href="#header.expect" class="smpl">expectation</a> 1676 1674 1677 1675 <a href="#header.expect" class="smpl">expectation</a> = <a href="#header.expect" class="smpl">expect-name</a> [ <a href="#imported.abnf" class="smpl">BWS</a> "=" <a href="#imported.abnf" class="smpl">BWS</a> <a href="#header.expect" class="smpl">expect-value</a> ] … … 1819 1817 a value of 0 means "not acceptable". If no "q" parameter is present, the default weight is 1. 1820 1818 </p> 1821 <div id="rfc.figure.u.2 3"></div><pre class="inline"><span id="rfc.iref.g.25"></span><span id="rfc.iref.g.26"></span> <a href="#quality.values" class="smpl">weight</a> = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#quality.values" class="smpl">qvalue</a>1819 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.25"></span><span id="rfc.iref.g.26"></span> <a href="#quality.values" class="smpl">weight</a> = <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> "q=" <a href="#quality.values" class="smpl">qvalue</a> 1822 1820 <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#imported.abnf" class="smpl">DIGIT</a> ] ) 1823 1821 / ( "1" [ "." 0*3("0") ] ) … … 1831 1829 for an in-line image. 1832 1830 </p> 1833 <div id="rfc.figure.u.2 4"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span> <a href="#header.accept" class="smpl">Accept</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] )1831 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span> <a href="#header.accept" class="smpl">Accept</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] ) 1834 1832 1835 1833 <a href="#header.accept" class="smpl">media-range</a> = ( "*/*" 1836 / ( <a href="#media.type s" class="smpl">type</a> "/" "*" )1837 / ( <a href="#media.type s" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> )1834 / ( <a href="#media.type" class="smpl">type</a> "/" "*" ) 1835 / ( <a href="#media.type" class="smpl">type</a> "/" <a href="#media.type" class="smpl">subtype</a> ) 1838 1836 ) *( <a href="#imported.abnf" class="smpl">OWS</a> ";" <a href="#imported.abnf" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> ) 1839 1837 <a href="#header.accept" class="smpl">accept-params</a> = <a href="#quality.values" class="smpl">weight</a> *( <a href="#header.accept" class="smpl">accept-ext</a> ) … … 1852 1850 </div> 1853 1851 <p id="rfc.section.6.3.2.p.6">The example</p> 1854 <div id="rfc.figure.u.2 5"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic1852 <div id="rfc.figure.u.26"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic 1855 1853 </pre><p id="rfc.section.6.3.2.p.8"> <em class="bcp14">SHOULD</em> be interpreted as "I prefer audio/basic, but send me any audio type if it is the best available after an 80% mark-down in 1856 1854 quality". … … 1861 1859 </p> 1862 1860 <p id="rfc.section.6.3.2.p.10">A more elaborate example is</p> 1863 <div id="rfc.figure.u.2 6"></div><pre class="text"> Accept: text/plain; q=0.5, text/html,1861 <div id="rfc.figure.u.27"></div><pre class="text"> Accept: text/plain; q=0.5, text/html, 1864 1862 text/x-dvi; q=0.8, text/x-c 1865 1863 </pre><p id="rfc.section.6.3.2.p.12">Verbally, this would be interpreted as "text/html and text/x-c are the preferred media types, but if they do not exist, then … … 1869 1867 to a given type, the most specific reference has precedence. For example, 1870 1868 </p> 1871 <div id="rfc.figure.u.2 7"></div><pre class="text"> Accept: text/*, text/plain, text/plain;format=flowed, */*1869 <div id="rfc.figure.u.28"></div><pre class="text"> Accept: text/*, text/plain, text/plain;format=flowed, */* 1872 1870 </pre><p id="rfc.section.6.3.2.p.15">have the following precedence: </p> 1873 1871 <ol> … … 1880 1878 which matches that type. For example, 1881 1879 </p> 1882 <div id="rfc.figure.u.2 8"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,1880 <div id="rfc.figure.u.29"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, 1883 1881 text/html;level=2;q=0.4, */*;q=0.5 1884 1882 </pre><p id="rfc.section.6.3.2.p.18">would cause the following values to be associated:</p> … … 1924 1922 <div id="rfc.iref.a.2"></div> 1925 1923 <h3 id="rfc.section.6.3.3"><a href="#rfc.section.6.3.3">6.3.3</a> <a id="header.accept-charset" href="#header.accept-charset">Accept-Charset</a></h3> 1926 <p id="rfc.section.6.3.3.p.1">The "Accept-Charset" header field can be used by user agents to indicate what character encodings are acceptable in a response 1927 payload. This field allows clients capable of understanding more comprehensive or special-purpose character encodings to signal 1928 that capability to a server which is capable of representing documents in those character encodings. 1929 </p> 1930 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.31"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" ) [ <a href="#quality.values" class="smpl">weight</a> ] ) 1931 </pre><p id="rfc.section.6.3.3.p.3">Character encoding values (a.k.a., charsets) are described in <a href="#character.sets" title="Character Encodings (charset)">Section 3.1.1.2</a>. Each charset <em class="bcp14">MAY</em> be given an associated quality value which represents the user's preference for that charset, as defined in <a href="#quality.values" title="Quality Values">Section 6.3.1</a>. An example is 1932 </p> 1933 <div id="rfc.figure.u.30"></div><pre class="text"> Accept-Charset: iso-8859-5, unicode-1-1;q=0.8 1934 </pre><p id="rfc.section.6.3.3.p.5">The special value "*", if present in the Accept-Charset field, matches every character encoding which is not mentioned elsewhere 1935 in the Accept-Charset field. If no "*" is present in an Accept-Charset field, then any character encodings not explicitly 1936 mentioned in the field are considered "not acceptable" to the client. 1937 </p> 1938 <p id="rfc.section.6.3.3.p.6">A request without any Accept-Charset header field implies that the user agent will accept any character encoding in response.</p> 1939 <p id="rfc.section.6.3.3.p.7">If an Accept-Charset header field is present in a request and none of the available representations for the response have 1940 a character encoding that is listed as acceptable, the origin server <em class="bcp14">MAY</em> either honor the Accept-Charset header field by sending a <a href="#status.406" class="smpl">406 (Not Acceptable)</a> response or disregard the Accept-Charset header field by treating the response as if it is not subject to content negotiation. 1924 <p id="rfc.section.6.3.3.p.1">The "Accept-Charset" header field can be sent by a user agent to indicate what charsets are acceptable in a selected representation. 1925 This field allows user agents capable of understanding more comprehensive or special-purpose charsets to signal that capability 1926 to an origin server which is capable of representing documents in those charsets. 1927 </p> 1928 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.31"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = 1#( ( <a href="#charset" class="smpl">charset</a> / "*" ) [ <a href="#quality.values" class="smpl">weight</a> ] ) 1929 </pre><p id="rfc.section.6.3.3.p.3">Charset names are defined in <a href="#charset" title="Charset">Section 3.1.1.2</a>. A user agent <em class="bcp14">MAY</em> associate a quality value with each charset to indicate the user's relative preference for that charset, as defined in <a href="#quality.values" title="Quality Values">Section 6.3.1</a>. An example is 1930 </p> 1931 <div id="rfc.figure.u.31"></div><pre class="text"> Accept-Charset: iso-8859-5, unicode-1-1;q=0.8 1932 </pre><p id="rfc.section.6.3.3.p.5">The special value "*", if present in the Accept-Charset field, matches every charset which is not mentioned elsewhere in the 1933 Accept-Charset field. If no "*" is present in an Accept-Charset field, then any charsets not explicitly mentioned in the field 1934 are considered "not acceptable" to the client. 1935 </p> 1936 <p id="rfc.section.6.3.3.p.6">A request without any Accept-Charset header field implies that the user agent will accept any charset in response. Most general-purpose 1937 user agents do not send Accept-Charset, unless specifically configured to do so, because a detailed list of supported charsets 1938 makes it easier for a server to identify an individual by virtue of the user agent's request characteristics (a.k.a., fingerprinting). 1939 </p> 1940 <p id="rfc.section.6.3.3.p.7">If an Accept-Charset header field is present in a request and none of the available representations for the response has a 1941 charset that is listed as acceptable, the origin server <em class="bcp14">MAY</em> either honor the Accept-Charset header field, by sending a <a href="#status.406" class="smpl">406 (Not Acceptable)</a> response, or disregard the Accept-Charset header field by treating the resource as if it is not subject to content negotiation. 1941 1942 </p> 1942 1943 <div id="rfc.iref.a.3"></div> … … 1945 1946 no encoding is preferred. 1946 1947 </p> 1947 <div id="rfc.figure.u.3 1"></div><pre class="inline"><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = #( <a href="#header.accept-encoding" class="smpl">codings</a> [ <a href="#quality.values" class="smpl">weight</a> ] )1948 <div id="rfc.figure.u.32"></div><pre class="inline"><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = #( <a href="#header.accept-encoding" class="smpl">codings</a> [ <a href="#quality.values" class="smpl">weight</a> ] ) 1948 1949 <a href="#header.accept-encoding" class="smpl">codings</a> = <a href="#content.codings" class="smpl">content-coding</a> / "identity" / "*" 1949 1950 </pre><p id="rfc.section.6.3.4.p.3">Each codings value <em class="bcp14">MAY</em> be given an associated quality value which represents the preference for that encoding, as defined in <a href="#quality.values" title="Quality Values">Section 6.3.1</a>. 1950 1951 </p> 1951 1952 <p id="rfc.section.6.3.4.p.4">For example,</p> 1952 <div id="rfc.figure.u.3 2"></div><pre class="text"> Accept-Encoding: compress, gzip1953 <div id="rfc.figure.u.33"></div><pre class="text"> Accept-Encoding: compress, gzip 1953 1954 Accept-Encoding: 1954 1955 Accept-Encoding: * … … 1985 1986 in the response. Language tags are defined in <a href="#language.tags" title="Language Tags">Section 3.1.3.1</a>. 1986 1987 </p> 1987 <div id="rfc.figure.u.3 3"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span> <a href="#header.accept-language" class="smpl">Accept-Language</a> = 1#( <a href="#header.accept-language" class="smpl">language-range</a> [ <a href="#quality.values" class="smpl">weight</a> ] )1988 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span> <a href="#header.accept-language" class="smpl">Accept-Language</a> = 1#( <a href="#header.accept-language" class="smpl">language-range</a> [ <a href="#quality.values" class="smpl">weight</a> ] ) 1988 1989 <a href="#header.accept-language" class="smpl">language-range</a> = 1989 1990 <language-range, defined in <a href="#RFC4647" id="rfc.xref.RFC4647.1"><cite title="Matching of Language Tags">[RFC4647]</cite></a>, <a href="http://tools.ietf.org/html/rfc4647#section-2.1">Section 2.1</a>> … … 1991 1992 languages specified by that range, as defined in <a href="#quality.values" title="Quality Values">Section 6.3.1</a>. For example, 1992 1993 </p> 1993 <div id="rfc.figure.u.3 4"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.71994 <div id="rfc.figure.u.35"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.7 1994 1995 </pre><p id="rfc.section.6.3.5.p.5">would mean: "I prefer Danish, but will accept British English and other types of English". (See also <a href="http://tools.ietf.org/html/rfc4647#section-2.3">Section 2.3</a> of <a href="#RFC4647" id="rfc.xref.RFC4647.2"><cite title="Matching of Language Tags">[RFC4647]</cite></a>) 1995 1996 </p> … … 2067 2068 <p id="rfc.section.6.5.1.p.1">The "From" header field, if given, <em class="bcp14">SHOULD</em> contain an Internet e-mail address for the human user who controls the requesting user agent. The address <em class="bcp14">SHOULD</em> be machine-usable, as defined by "mailbox" in <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.1"><cite title="Internet Message Format">[RFC5322]</cite></a>: 2068 2069 </p> 2069 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.36"></span> <a href="#header.from" class="smpl">From</a> = <a href="#header.from" class="smpl">mailbox</a>2070 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.36"></span> <a href="#header.from" class="smpl">From</a> = <a href="#header.from" class="smpl">mailbox</a> 2070 2071 2071 2072 <a href="#header.from" class="smpl">mailbox</a> = <mailbox, defined in <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a>, <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a>> 2072 2073 </pre><p id="rfc.section.6.5.1.p.3">An example is:</p> 2073 <div id="rfc.figure.u.3 6"></div><pre class="text"> From: webmaster@example.org2074 <div id="rfc.figure.u.37"></div><pre class="text"> From: webmaster@example.org 2074 2075 </pre><p id="rfc.section.6.5.1.p.5">This header field <em class="bcp14">MAY</em> be used for logging purposes and as a means for identifying the source of invalid or unwanted requests. It <em class="bcp14">SHOULD NOT</em> be used as an insecure form of access protection. The interpretation of this field is that the request is being performed 2075 2076 on behalf of the person given, who accepts responsibility for the method performed. In particular, robot agents <em class="bcp14">SHOULD</em> include this header field so that the person responsible for running the robot can be contacted if problems occur on the receiving … … 2096 2097 non-HTTP URIs (e.g., FTP). 2097 2098 </p> 2098 <div id="rfc.figure.u.3 7"></div><pre class="inline"><span id="rfc.iref.g.37"></span> <a href="#header.referer" class="smpl">Referer</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a>2099 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.37"></span> <a href="#header.referer" class="smpl">Referer</a> = <a href="#imported.abnf" class="smpl">absolute-URI</a> / <a href="#imported.abnf" class="smpl">partial-URI</a> 2099 2100 </pre><p id="rfc.section.6.5.2.p.5">Example:</p> 2100 <div id="rfc.figure.u.3 8"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html2101 <div id="rfc.figure.u.39"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html 2101 2102 </pre><p id="rfc.section.6.5.2.p.7">If the field value is a relative URI, it <em class="bcp14">SHOULD</em> be interpreted relative to the effective request URI. The URI <em class="bcp14">MUST NOT</em> include a fragment. See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section 10.2</a> for security considerations. 2102 2103 </p> … … 2119 2120 doing so makes the field value more difficult to parse. 2120 2121 </p> 2121 <div id="rfc.figure.u. 39"></div><pre class="inline"><span id="rfc.iref.g.38"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )2122 <div id="rfc.figure.u.40"></div><pre class="inline"><span id="rfc.iref.g.38"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) ) 2122 2123 </pre><p id="rfc.section.6.5.3.p.7">Example:</p> 2123 <div id="rfc.figure.u.4 0"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b32124 <div id="rfc.figure.u.41"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 2124 2125 </pre><h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="status.codes" href="#status.codes">Response Status Codes</a></h1> 2125 2126 <p id="rfc.section.7.p.1">The status-code element is a 3-digit integer code giving the result of the attempt to understand and satisfy the request.</p> … … 2711 2712 <p id="rfc.section.7.5.15.p.1">The request can not be completed without a prior protocol upgrade. This response <em class="bcp14">MUST</em> include an <a href="p1-messaging.html#header.upgrade" class="smpl">Upgrade</a> header field (<a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 6.3</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>) specifying the required protocols. 2712 2713 </p> 2713 <div id="rfc.figure.u.4 1"></div>2714 <div id="rfc.figure.u.42"></div> 2714 2715 <p>Example:</p> <pre class="text">HTTP/1.1 426 Upgrade Required 2715 2716 Upgrade: HTTP/3.0 … … 2809 2810 a fixed-length subset of that defined by <a href="#RFC1123" id="rfc.xref.RFC1123.1"><cite title="Requirements for Internet Hosts - Application and Support">[RFC1123]</cite></a>: 2810 2811 </p> 2811 <div id="rfc.figure.u.4 2"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT ; RFC 11232812 <div id="rfc.figure.u.43"></div><pre class="text">Sun, 06 Nov 1994 08:49:37 GMT ; RFC 1123 2812 2813 </pre><p id="rfc.section.8.1.1.1.p.3">The other formats are described here only for compatibility with obsolete implementations.</p> 2813 <div id="rfc.figure.u.4 3"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format2814 <div id="rfc.figure.u.44"></div><pre class="text">Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format 2814 2815 Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format 2815 2816 </pre><p id="rfc.section.8.1.1.1.p.5">HTTP/1.1 clients and servers that parse a date value <em class="bcp14">MUST</em> accept all three formats (for compatibility with HTTP/1.0), though they <em class="bcp14">MUST</em> only generate the RFC 1123 format for representing HTTP-date values in header fields. … … 2819 2820 time zone, and <em class="bcp14">MUST</em> be assumed when reading the asctime format. HTTP-date is case sensitive and <em class="bcp14">MUST NOT</em> include additional whitespace beyond that specifically included as SP in the grammar. 2820 2821 </p> 2821 <div id="rfc.figure.u.4 4"></div><pre class="inline"><span id="rfc.iref.g.39"></span> <a href="#http.date" class="smpl">HTTP-date</a> = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a>2822 <div id="rfc.figure.u.45"></div><pre class="inline"><span id="rfc.iref.g.39"></span> <a href="#http.date" class="smpl">HTTP-date</a> = <a href="#preferred.date.format" class="smpl">rfc1123-date</a> / <a href="#obsolete.date.formats" class="smpl">obs-date</a> 2822 2823 </pre><div id="preferred.date.format"> 2823 2824 <p id="rfc.section.8.1.1.1.p.8"> Preferred format:</p> 2824 2825 </div> 2825 <div id="rfc.figure.u.4 5"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span><span id="rfc.iref.g.51"></span> <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#imported.abnf" class="smpl">SP</a> date1 <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>2826 <div id="rfc.figure.u.46"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span><span id="rfc.iref.g.49"></span><span id="rfc.iref.g.50"></span><span id="rfc.iref.g.51"></span> <a href="#preferred.date.format" class="smpl">rfc1123-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> "," <a href="#imported.abnf" class="smpl">SP</a> date1 <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 2826 2827 ; fixed length subset of the format defined in 2827 2828 ; <a href="http://tools.ietf.org/html/rfc1123#section-5.2.14">Section 5.2.14</a> of <a href="#RFC1123" id="rfc.xref.RFC1123.2"><cite title="Requirements for Internet Hosts - Application and Support">[RFC1123]</cite></a> … … 2866 2867 <p id="rfc.section.8.1.1.1.p.11"> Obsolete formats:</p> 2867 2868 </div> 2868 <div id="rfc.figure.u.4 6"></div><pre class="inline"><span id="rfc.iref.g.52"></span> <a href="#obsolete.date.formats" class="smpl">obs-date</a> = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a>2869 </pre><div id="rfc.figure.u.4 7"></div><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a>2869 <div id="rfc.figure.u.47"></div><pre class="inline"><span id="rfc.iref.g.52"></span> <a href="#obsolete.date.formats" class="smpl">obs-date</a> = <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> / <a href="#obsolete.date.formats" class="smpl">asctime-date</a> 2870 </pre><div id="rfc.figure.u.48"></div><pre class="inline"><span id="rfc.iref.g.53"></span> <a href="#obsolete.date.formats" class="smpl">rfc850-date</a> = <a href="#obsolete.date.formats" class="smpl">day-name-l</a> "," <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date2</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">GMT</a> 2870 2871 <a href="#obsolete.date.formats" class="smpl">date2</a> = <a href="#preferred.date.format" class="smpl">day</a> "-" <a href="#preferred.date.format" class="smpl">month</a> "-" 2<a href="#imported.abnf" class="smpl">DIGIT</a> 2871 2872 ; day-month-year (e.g., 02-Jun-82) … … 2878 2879 / %x53.61.74.75.72.64.61.79 ; "Saturday", case-sensitive 2879 2880 / %x53.75.6E.64.61.79 ; "Sunday", case-sensitive 2880 </pre><div id="rfc.figure.u.4 8"></div><pre class="inline"><span id="rfc.iref.g.54"></span> <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a>2881 </pre><div id="rfc.figure.u.49"></div><pre class="inline"><span id="rfc.iref.g.54"></span> <a href="#obsolete.date.formats" class="smpl">asctime-date</a> = <a href="#preferred.date.format" class="smpl">day-name</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#obsolete.date.formats" class="smpl">date3</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">time-of-day</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#preferred.date.format" class="smpl">year</a> 2881 2882 <a href="#obsolete.date.formats" class="smpl">date3</a> = <a href="#preferred.date.format" class="smpl">month</a> <a href="#imported.abnf" class="smpl">SP</a> ( 2<a href="#imported.abnf" class="smpl">DIGIT</a> / ( <a href="#imported.abnf" class="smpl">SP</a> 1<a href="#imported.abnf" class="smpl">DIGIT</a> )) 2882 2883 ; month day (e.g., Jun 2) … … 2896 2897 Origination Date Field (orig-date) defined in <a href="http://tools.ietf.org/html/rfc5322#section-3.6.1">Section 3.6.1</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.4"><cite title="Internet Message Format">[RFC5322]</cite></a>. The field value is an HTTP-date, as defined in <a href="#http.date" title="Date/Time Formats">Section 8.1.1.1</a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 2897 2898 </p> 2898 <div id="rfc.figure.u. 49"></div><pre class="inline"><span id="rfc.iref.g.55"></span> <a href="#header.date" class="smpl">Date</a> = <a href="#http.date" class="smpl">HTTP-date</a>2899 <div id="rfc.figure.u.50"></div><pre class="inline"><span id="rfc.iref.g.55"></span> <a href="#header.date" class="smpl">Date</a> = <a href="#http.date" class="smpl">HTTP-date</a> 2899 2900 </pre><p id="rfc.section.8.1.1.2.p.3">An example is</p> 2900 <div id="rfc.figure.u.5 0"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT2901 <div id="rfc.figure.u.51"></div><pre class="text"> Date: Tue, 15 Nov 1994 08:12:31 GMT 2901 2902 </pre><p id="rfc.section.8.1.1.2.p.5">Origin servers <em class="bcp14">MUST</em> include a Date header field in all responses, except in these cases: 2902 2903 </p> … … 2924 2925 <p id="rfc.section.8.1.2.p.1">The "Location" header field <em class="bcp14">MAY</em> be sent in responses to refer to a specific resource in accordance with the semantics of the status code. 2925 2926 </p> 2926 <div id="rfc.figure.u.5 1"></div><pre class="inline"><span id="rfc.iref.g.56"></span> <a href="#header.location" class="smpl">Location</a> = <a href="#imported.abnf" class="smpl">URI-reference</a>2927 <div id="rfc.figure.u.52"></div><pre class="inline"><span id="rfc.iref.g.56"></span> <a href="#header.location" class="smpl">Location</a> = <a href="#imported.abnf" class="smpl">URI-reference</a> 2927 2928 </pre><p id="rfc.section.8.1.2.p.3">For <a href="#status.201" class="smpl">201 (Created)</a> responses, the Location is the URI of the new resource which was created by the request. For <a href="#status.3xx" class="smpl">3xx (Redirection)</a> responses, the location <em class="bcp14">SHOULD</em> indicate the server's preferred URI for automatic redirection to the resource. 2928 2929 </p> … … 2930 2931 then the original URI's fragment identifier is added to the final value. 2931 2932 </p> 2932 <div id="rfc.figure.u.5 2"></div>2933 <div id="rfc.figure.u.53"></div> 2933 2934 <p>For example, the original URI "http://www.example.org/~tim", combined with a field value given as:</p> <pre class="text"> Location: /pub/WWW/People.html#tim 2934 2935 </pre> <p>would result in a final value of "http://www.example.org/pub/WWW/People.html#tim"</p> 2935 <div id="rfc.figure.u.5 3"></div>2936 <div id="rfc.figure.u.54"></div> 2936 2937 <p>An original URI "http://www.example.org/index.html#larry", combined with a field value given as:</p> <pre class="text"> Location: http://www.example.net/index.html 2937 2938 </pre> <p>would result in a final value of "http://www.example.net/index.html#larry", preserving the original fragment identifier.</p> … … 2956 2957 </p> 2957 2958 <p id="rfc.section.8.1.3.p.2">The value of this field can be either an HTTP-date or an integer number of seconds (in decimal) after the time of the response.</p> 2958 <div id="rfc.figure.u.5 4"></div><pre class="inline"><span id="rfc.iref.g.57"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = <a href="#http.date" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a>2959 <div id="rfc.figure.u.55"></div><pre class="inline"><span id="rfc.iref.g.57"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = <a href="#http.date" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> 2959 2960 </pre><div id="rule.delta-seconds"> 2960 2961 <p id="rfc.section.8.1.3.p.4"> Time spans are non-negative decimal integers, representing time in seconds.</p> 2961 2962 </div> 2962 <div id="rfc.figure.u.5 5"></div><pre class="inline"><span id="rfc.iref.g.58"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a>2963 <div id="rfc.figure.u.56"></div><pre class="inline"><span id="rfc.iref.g.58"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 2963 2964 </pre><p id="rfc.section.8.1.3.p.6">Two examples of its use are</p> 2964 <div id="rfc.figure.u.5 6"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT2965 <div id="rfc.figure.u.57"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT 2965 2966 Retry-After: 120 2966 2967 </pre><p id="rfc.section.8.1.3.p.8">In the latter example, the delay is 2 minutes.</p> … … 3005 3006 the representation. 3006 3007 </p> 3007 <div id="rfc.figure.u.5 7"></div><pre class="inline"><span id="rfc.iref.g.59"></span> <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#imported.abnf" class="smpl">field-name</a>3008 <div id="rfc.figure.u.58"></div><pre class="inline"><span id="rfc.iref.g.59"></span> <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#imported.abnf" class="smpl">field-name</a> 3008 3009 </pre><p id="rfc.section.8.2.1.p.5">The set of header fields named by the Vary field value is known as the selecting header fields.</p> 3009 3010 <p id="rfc.section.8.2.1.p.6">A server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to proactive negotiation. Doing so allows a cache … … 3074 3075 is strictly to inform the recipient of valid request methods associated with the resource. 3075 3076 </p> 3076 <div id="rfc.figure.u.5 8"></div><pre class="inline"><span id="rfc.iref.g.60"></span> <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method.overview" class="smpl">method</a>3077 <div id="rfc.figure.u.59"></div><pre class="inline"><span id="rfc.iref.g.60"></span> <a href="#header.allow" class="smpl">Allow</a> = #<a href="#method.overview" class="smpl">method</a> 3077 3078 </pre><p id="rfc.section.8.4.1.p.3">Example of use:</p> 3078 <div id="rfc.figure.u. 59"></div><pre class="text"> Allow: GET, HEAD, PUT3079 <div id="rfc.figure.u.60"></div><pre class="text"> Allow: GET, HEAD, PUT 3079 3080 </pre><p id="rfc.section.8.4.1.p.5">The actual set of allowed methods is defined by the origin server at the time of each request.</p> 3080 3081 <p id="rfc.section.8.4.1.p.6">A proxy <em class="bcp14">MUST NOT</em> modify the Allow header field — it does not need to understand all the methods specified in order to handle them according … … 3087 3088 identifying the application. 3088 3089 </p> 3089 <div id="rfc.figure.u.6 0"></div><pre class="inline"><span id="rfc.iref.g.61"></span> <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) )3090 <div id="rfc.figure.u.61"></div><pre class="inline"><span id="rfc.iref.g.61"></span> <a href="#header.server" class="smpl">Server</a> = <a href="#product.tokens" class="smpl">product</a> *( <a href="#imported.abnf" class="smpl">RWS</a> ( <a href="#product.tokens" class="smpl">product</a> / <a href="#imported.abnf" class="smpl">comment</a> ) ) 3090 3091 </pre><p id="rfc.section.8.4.2.p.4">Example:</p> 3091 <div id="rfc.figure.u.6 1"></div><pre class="text"> Server: CERN/3.0 libwww/2.173092 <div id="rfc.figure.u.62"></div><pre class="text"> Server: CERN/3.0 libwww/2.17 3092 3093 </pre><p id="rfc.section.8.4.2.p.6">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the <a href="#header.server" class="smpl">Server</a> header field. Instead, it <em class="bcp14">MUST</em> include a <a href="p1-messaging.html#header.via" class="smpl">Via</a> field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 5.7</a> of <a href="#Part1" id="rfc.xref.Part1.29"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>). 3093 3094 </p> … … 3477 3478 these: 3478 3479 </p> 3479 <div id="rfc.figure.u.6 2"></div><pre class="text"> Example-URI-Field: "http://example.com/a.html,foo",3480 <div id="rfc.figure.u.63"></div><pre class="text"> Example-URI-Field: "http://example.com/a.html,foo", 3480 3481 "http://without-a-comma.example.com/" 3481 3482 Example-Date-Field: "Sat, 04 May 1996", "Wed, 14 Sep 2005" … … 3485 3486 <p id="rfc.section.9.3.1.p.8">Many header fields use a format including (case-insensitively) named parameters (for instance, <a href="#header.content-type" class="smpl">Content-Type</a>, defined in <a href="#header.content-type" id="rfc.xref.header.content-type.4" title="Content-Type">Section 3.1.1.5</a>). Allowing both unquoted (token) and quoted (quoted-string) syntax for the parameter value enables recipients to use existing 3486 3487 parser components. When allowing both forms, the meaning of a parameter value ought to be independent of the syntax used for 3487 it (for an example, see the notes on parameter handling for media types in <a href="#media.type s" title="Media Types">Section 3.1.1.1</a>).3488 it (for an example, see the notes on parameter handling for media types in <a href="#media.type" title="Media Type">Section 3.1.1.1</a>). 3488 3489 </p> 3489 3490 <p id="rfc.section.9.3.1.p.9">Authors of specifications defining new header fields are advised to consider documenting: </p> … … 3824 3825 <h2 id="rfc.references.1"><a href="#rfc.section.12.1" id="rfc.section.12.1">12.1</a> Normative References 3825 3826 </h2> 3826 <table> 3827 <table> 3827 3828 <tr> 3828 3829 <td class="reference"><b id="Part1">[Part1]</b></td> … … 3900 3901 </td> 3901 3902 </tr> 3903 <tr> 3904 <td class="reference"><b id="RFC6365">[RFC6365]</b></td> 3905 <td class="top">Hoffman, P. and J. Klensin, “<a href="http://tools.ietf.org/html/rfc6365">Terminology Used in Internationalization in the IETF</a>”, BCP 166, RFC 6365, September 2011. 3906 </td> 3907 </tr> 3902 3908 </table> 3903 3909 <h2 id="rfc.references.2"><a href="#rfc.section.12.2" id="rfc.section.12.2">12.2</a> Informative References 3904 3910 </h2> 3905 <table> 3911 <table> 3906 3912 <tr> 3907 3913 <td class="reference"><b id="REST">[REST]</b></td> … … 3935 3941 </tr> 3936 3942 <tr> 3937 <td class="reference"><b id="RFC2277">[RFC2277]</b></td>3938 <td class="top"><a href="mailto:Harald.T.Alvestrand@uninett.no" title="UNINETT">Alvestrand, H.</a>, “<a href="http://tools.ietf.org/html/rfc2277">IETF Policy on Character Sets and Languages</a>”, BCP 18, RFC 2277, January 1998.3939 </td>3940 </tr>3941 <tr>3942 3943 <td class="reference"><b id="RFC2295">[RFC2295]</b></td> 3943 3944 <td class="top"><a href="mailto:koen@win.tue.nl" title="Technische Universiteit Eindhoven">Holtman, K.</a> and <a href="mailto:mutz@hpl.hp.com" title="Hewlett-Packard Company">A. Mutz</a>, “<a href="http://tools.ietf.org/html/rfc2295">Transparent Content Negotiation in HTTP</a>”, RFC 2295, March 1998. … … 3965 3966 </tr> 3966 3967 <tr> 3967 <td class="reference"><b id="RFC 3629">[RFC3629]</b></td>3968 <td class="top"> <a href="mailto:fyergeau@alis.com" title="Alis Technologies">Yergeau, F.</a>, “<a href="http://tools.ietf.org/html/rfc3629">UTF-8, a transformation format of ISO 10646</a>”, STD 63, RFC 3629, November 2003.3968 <td class="reference"><b id="RFC2978">[RFC2978]</b></td> 3969 <td class="top">Freed, N. and J. Postel, “<a href="http://tools.ietf.org/html/rfc2978">IANA Charset Registration Procedures</a>”, BCP 19, RFC 2978, October 2000. 3969 3970 </td> 3970 3971 </tr> … … 4040 4041 MIME environments. 4041 4042 </p> 4042 <div id="rfc.figure.u.6 3"></div><pre class="inline"><span id="rfc.iref.g.62"></span> <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a>4043 <div id="rfc.figure.u.64"></div><pre class="inline"><span id="rfc.iref.g.62"></span> <a href="#mime-version" class="smpl">MIME-Version</a> = 1*<a href="#imported.abnf" class="smpl">DIGIT</a> "." 1*<a href="#imported.abnf" class="smpl">DIGIT</a> 4043 4044 </pre><p id="rfc.section.A.1.p.3">MIME version "1.0" is the default for use in HTTP/1.1. However, HTTP/1.1 message parsing and semantics are defined by this 4044 4045 document and not the MIME specification. … … 4050 4051 </p> 4051 4052 <p id="rfc.section.A.2.p.2">Where it is possible, a proxy or gateway from HTTP to a strict MIME environment <em class="bcp14">SHOULD</em> translate all line breaks within the text media types described in <a href="#canonicalization.and.text.defaults" title="Canonicalization and Text Defaults">Section 3.1.1.3</a> of this document to the RFC 2049 canonical form of CRLF. Note, however, that this might be complicated by the presence of 4052 a <a href="#header.content-encoding" class="smpl">Content-Encoding</a> and by the fact that HTTP allows the use of some character encodings which do not use octets 13 and 10 to represent CR and 4053 LF, respectively, as is the case for some multi-byte character encodings. 4053 a <a href="#header.content-encoding" class="smpl">Content-Encoding</a> and by the fact that HTTP allows the use of some charsets which do not use octets 13 and 10 to represent CR and LF, respectively. 4054 4054 </p> 4055 4055 <p id="rfc.section.A.2.p.3">Conversion will break any cryptographic checksums applied to the original content unless the original content is already in … … 4128 4128 in <a href="p1-messaging.html#header.via" title="Via">Section 5.7</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>) 4129 4129 </p> 4130 <p id="rfc.section.C.p.17">Clarify contexts that charset is used in. (<a href="#char acter.sets" title="Character Encodings (charset)">Section 3.1.1.2</a>)4131 </p> 4132 <p id="rfc.section.C.p.18">Remove the default char acter encoding of "ISO-8859-1" for text media types; the default now is whatever the media type definition4133 says.(<a href="#canonicalization.and.text.defaults" title="Canonicalization and Text Defaults">Section 3.1.1.3</a>)4130 <p id="rfc.section.C.p.17">Clarify contexts that charset is used in. (<a href="#charset" title="Charset">Section 3.1.1.2</a>) 4131 </p> 4132 <p id="rfc.section.C.p.18">Remove the default charset of "ISO-8859-1" for text media types; the default now is whatever the media type definition says. 4133 (<a href="#canonicalization.and.text.defaults" title="Canonicalization and Text Defaults">Section 3.1.1.3</a>) 4134 4134 </p> 4135 4135 <p id="rfc.section.C.p.19">Registration of Content Codings now requires IETF Review (<a href="#content.coding.registry" title="Content Coding Registry">Section 9.4</a>) … … 4153 4153 <p id="rfc.section.D.p.2">The rules below are defined in <a href="#Part1" id="rfc.xref.Part1.45"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>: 4154 4154 </p> 4155 <div id="rfc.figure.u.6 4"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>>4155 <div id="rfc.figure.u.65"></div><pre class="inline"> <a href="#imported.abnf" class="smpl">BWS</a> = <BWS, defined in <a href="#Part1" id="rfc.xref.Part1.46"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 4156 4156 <a href="#imported.abnf" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.47"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> 4157 4157 <a href="#imported.abnf" class="smpl">RWS</a> = <RWS, defined in <a href="#Part1" id="rfc.xref.Part1.48"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>, <a href="p1-messaging.html#whitespace" title="Whitespace">Section 3.2.1</a>> … … 4165 4165 <a href="#imported.abnf" class="smpl">word</a> = <word, defined in <a href="#Part1" id="rfc.xref.Part1.56"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.4</a>> 4166 4166 </pre><h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 4167 <div id="rfc.figure.u.6 5"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [4167 <div id="rfc.figure.u.66"></div> <pre class="inline"><a href="#header.accept" class="smpl">Accept</a> = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [ 4168 4168 OWS ( media-range [ accept-params ] ) ] ) ] 4169 4169 <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = *( "," OWS ) ( ( charset / "*" ) [ weight ] ) *( OWS … … 4219 4219 <a href="#rule.parameter" class="smpl">attribute</a> = token 4220 4220 4221 <a href="# rule.charset" class="smpl">charset</a> = token4221 <a href="#charset" class="smpl">charset</a> = token 4222 4222 <a href="#header.accept-encoding" class="smpl">codings</a> = content-coding / "identity" / "*" 4223 4223 <a href="#imported.abnf" class="smpl">comment</a> = <comment, defined in [Part1], Section 3.2.4> … … 4260 4260 <a href="#header.accept" class="smpl">media-range</a> = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS 4261 4261 ";" OWS parameter ) 4262 <a href="#media.type s" class="smpl">media-type</a> = type "/" subtype *( OWS ";" OWS parameter )4262 <a href="#media.type" class="smpl">media-type</a> = type "/" subtype *( OWS ";" OWS parameter ) 4263 4263 <a href="#method.overview" class="smpl">method</a> = token 4264 4264 <a href="#preferred.date.format" class="smpl">minute</a> = 2DIGIT … … 4290 4290 4291 4291 <a href="#preferred.date.format" class="smpl">second</a> = 2DIGIT 4292 <a href="#media.type s" class="smpl">subtype</a> = token4292 <a href="#media.type" class="smpl">subtype</a> = token 4293 4293 4294 4294 <a href="#preferred.date.format" class="smpl">time-of-day</a> = hour ":" minute ":" second 4295 4295 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in [Part1], Section 3.2.4> 4296 <a href="#media.type s" class="smpl">type</a> = token4296 <a href="#media.type" class="smpl">type</a> = token 4297 4297 4298 4298 <a href="#rule.parameter" class="smpl">value</a> = word … … 4618 4618 <li><em>RFC2076</em> <a href="#RFC2076"><b>12.2</b></a>, <a href="#rfc.xref.RFC2076.1">B</a></li> 4619 4619 <li><em>RFC2119</em> <a href="#rfc.xref.RFC2119.1">1.1</a>, <a href="#RFC2119"><b>12.1</b></a></li> 4620 <li><em>RFC2277</em> <a href="#rfc.xref.RFC2277.1">3.1.1.2</a>, <a href="#RFC2277"><b>12.2</b></a></li>4621 4620 <li><em>RFC2295</em> <a href="#rfc.xref.RFC2295.1">3.4</a>, <a href="#RFC2295"><b>12.2</b></a></li> 4622 4621 <li><em>RFC2388</em> <a href="#rfc.xref.RFC2388.1">3.1.1.4</a>, <a href="#RFC2388"><b>12.2</b></a></li> … … 4634 4633 </ul> 4635 4634 </li> 4636 <li><em>RFC 3629</em> <a href="#rfc.xref.RFC3629.1">3.1.1.2</a>, <a href="#RFC3629"><b>12.2</b></a></li>4635 <li><em>RFC2978</em> <a href="#rfc.xref.RFC2978.1">3.1.1.2</a>, <a href="#RFC2978"><b>12.2</b></a></li> 4637 4636 <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> 4638 4637 <li><em>Section 4.1</em> <a href="#rfc.xref.RFC3864.2">9.3.1</a></li> … … 4674 4673 <li><em>RFC6151</em> <a href="#RFC6151"><b>12.2</b></a>, <a href="#rfc.xref.RFC6151.1">C</a></li> 4675 4674 <li><em>RFC6266</em> <a href="#RFC6266"><b>12.2</b></a>, <a href="#rfc.xref.RFC6266.1">B</a>, <a href="#rfc.xref.RFC6266.2">C</a></li> 4675 <li><em>RFC6365</em> <a href="#rfc.xref.RFC6365.1">1.2</a>, <a href="#rfc.xref.RFC6365.2">3.1.1.2</a>, <a href="#RFC6365"><b>12.1</b></a></li> 4676 4676 </ul> 4677 4677 </li>
Note: See TracChangeset
for help on using the changeset viewer.