Changeset 563 for draft-ietf-httpbis/latest/p3-payload.html
- Timestamp:
- 24/03/09 20:48:26 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p3-payload.html
r560 r563 36 36 cite { 37 37 font-style: normal; 38 } 39 div.note { 40 margin-left: 2em; 38 41 } 39 42 dd { … … 475 478 <tr> 476 479 <td class="header left"></td> 477 <td class="header right">March 12, 2009</td>480 <td class="header right">March 24, 2009</td> 478 481 </tr> 479 482 </table> … … 670 673 to determine the exact mapping is not permitted. 671 674 </p> 672 <d l class="empty">673 < dd> <b>Note:</b> This use of the term "character set" is more commonly referred to as a "character encoding." However, since HTTP and MIME675 <div class="note"> 676 <p> <b>Note:</b> This use of the term "character set" is more commonly referred to as a "character encoding." However, since HTTP and MIME 674 677 share the same registry, it is important that the terminology also be shared. 675 </ dd>676 </d l>678 </p> 679 </div> 677 680 <div id="rule.charset"> 678 681 <p id="rfc.section.2.1.p.4"> HTTP character sets are identified by case-insensitive tokens. The complete set of tokens is defined by the IANA Character … … 800 803 an unrecognized multipart subtype, the application <em class="bcp14">MUST</em> treat it as being equivalent to "multipart/mixed". 801 804 </p> 802 <d l class="empty">803 < dd> <b>Note:</b> The "multipart/form-data" type has been specifically defined for carrying form data suitable for processing via the POST request805 <div class="note"> 806 <p> <b>Note:</b> The "multipart/form-data" type has been specifically defined for carrying form data suitable for processing via the POST request 804 807 method, as described in <a href="#RFC2388" id="rfc.xref.RFC2388.1"><cite title="Returning Values from Forms: multipart/form-data">[RFC2388]</cite></a>. 805 </ dd>806 </d l>808 </p> 809 </div> 807 810 <h2 id="rfc.section.2.4"><a href="#rfc.section.2.4">2.4</a> <a id="language.tags" href="#language.tags">Language Tags</a></h2> 808 811 <p id="rfc.section.2.4.p.1">A language tag identifies a natural language spoken, written, or otherwise conveyed by human beings for communication of information … … 876 879 all users have the same preferences for what is "best," and not all user agents are equally capable of rendering all entity 877 880 types. For that reason, HTTP has provisions for several mechanisms for "content negotiation" -- the process of selecting the 878 best representation for a given response when there are multiple representations available. 879 </p> 880 <d l class="empty">881 < dd> <b>Note:</b> This is not called "format negotiation" because the alternate representations may be of the same media type, but use different881 best representation for a given response when there are multiple representations available. 882 </p> 883 <div class="note"> 884 <p> <b>Note:</b> This is not called "format negotiation" because the alternate representations may be of the same media type, but use different 882 885 capabilities of that type, be in different languages, etc. 883 </ dd>884 </d l>885 <p id="rfc.section.4.p. 2">Any response containing an entity-body <em class="bcp14">MAY</em> be subject to negotiation, including error responses.886 </p> 887 <p id="rfc.section.4.p. 3">There are two kinds of content negotiation which are possible in HTTP: server-driven and agent-driven negotiation. These two886 </p> 887 </div> 888 <p id="rfc.section.4.p.3">Any response containing an entity-body <em class="bcp14">MAY</em> be subject to negotiation, including error responses. 889 </p> 890 <p id="rfc.section.4.p.4">There are two kinds of content negotiation which are possible in HTTP: server-driven and agent-driven negotiation. These two 888 891 kinds of negotiation are orthogonal and thus may be used separately or in combination. One method of combination, referred 889 892 to as transparent negotiation, occurs when a cache uses the agent-driven negotiation information provided by the origin server … … 978 981 <p id="rfc.section.5.1.p.4">Each media-range <em class="bcp14">MAY</em> be followed by one or more accept-params, beginning with the "q" parameter for indicating a relative quality factor. The first 979 982 "q" parameter (if any) separates the media-range parameter(s) from the accept-params. Quality factors allow the user or user 980 agent to indicate the relative degree of preference for that media-range, using the qvalue scale from 0 to 1 (<a href="p1-messaging.html#quality.values" title="Quality Values">Section 3.5</a> of <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). The default value is q=1. 981 </p> 982 <d l class="empty">983 < dd> <b>Note:</b> Use of the "q" parameter name to separate media type parameters from Accept extension parameters is due to historical practice.983 agent to indicate the relative degree of preference for that media-range, using the qvalue scale from 0 to 1 (<a href="p1-messaging.html#quality.values" title="Quality Values">Section 3.5</a> of <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). The default value is q=1. 984 </p> 985 <div class="note"> 986 <p> <b>Note:</b> Use of the "q" parameter name to separate media type parameters from Accept extension parameters is due to historical practice. 984 987 Although this prevents any media type parameter named "q" from being used with a media range, such an event is believed to 985 988 be unlikely given the lack of any "q" parameters in the IANA media type registry and the rare usage of any media type parameters 986 989 in Accept. Future media types are discouraged from registering any parameter named "q". 987 </ dd>988 </d l>989 <p id="rfc.section.5.1.p. 5">The example</p>990 </p> 991 </div> 992 <p id="rfc.section.5.1.p.6">The example</p> 990 993 <div id="rfc.figure.u.16"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic 991 </pre><p id="rfc.section.5.1.p. 7"> <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 in994 </pre><p id="rfc.section.5.1.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 992 995 quality." 993 996 </p> 994 <p id="rfc.section.5.1.p. 8">If no Accept header field is present, then it is assumed that the client accepts all media types. If an Accept header field997 <p id="rfc.section.5.1.p.9">If no Accept header field is present, then it is assumed that the client accepts all media types. If an Accept header field 995 998 is present, and if the server cannot send a response which is acceptable according to the combined Accept field value, then 996 999 the server <em class="bcp14">SHOULD</em> send a 406 (Not Acceptable) response. 997 1000 </p> 998 <p id="rfc.section.5.1.p. 9">A more elaborate example is</p>1001 <p id="rfc.section.5.1.p.10">A more elaborate example is</p> 999 1002 <div id="rfc.figure.u.17"></div><pre class="text"> Accept: text/plain; q=0.5, text/html, 1000 1003 text/x-dvi; q=0.8, text/x-c 1001 </pre><p id="rfc.section.5.1.p.1 1">Verbally, this would be interpreted as "text/html and text/x-c are the preferred media types, but if they do not exist, then1004 </pre><p id="rfc.section.5.1.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 1002 1005 send the text/x-dvi entity, and if that does not exist, send the text/plain entity." 1003 1006 </p> 1004 <p id="rfc.section.5.1.p.1 2">Media ranges can be overridden by more specific media ranges or specific media types. If more than one media range applies1007 <p id="rfc.section.5.1.p.13">Media ranges can be overridden by more specific media ranges or specific media types. If more than one media range applies 1005 1008 to a given type, the most specific reference has precedence. For example, 1006 1009 </p> 1007 1010 <div id="rfc.figure.u.18"></div><pre class="text"> Accept: text/*, text/html, text/html;level=1, */* 1008 </pre><p id="rfc.section.5.1.p.1 4">have the following precedence: </p>1011 </pre><p id="rfc.section.5.1.p.15">have the following precedence: </p> 1009 1012 <ol> 1010 1013 <li>text/html;level=1</li> … … 1013 1016 <li>*/*</li> 1014 1017 </ol> 1015 <p id="rfc.section.5.1.p.1 5">The media type quality factor associated with a given type is determined by finding the media range with the highest precedence1018 <p id="rfc.section.5.1.p.16">The media type quality factor associated with a given type is determined by finding the media range with the highest precedence 1016 1019 which matches that type. For example, 1017 1020 </p> 1018 1021 <div id="rfc.figure.u.19"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, 1019 1022 text/html;level=2;q=0.4, */*;q=0.5 1020 </pre><p id="rfc.section.5.1.p.1 7">would cause the following values to be associated:</p>1023 </pre><p id="rfc.section.5.1.p.18">would cause the following values to be associated:</p> 1021 1024 <div id="rfc.table.u.1"> 1022 1025 <table summary="" class="tt full" cellpadding="3" cellspacing="0"> … … 1055 1058 </table> 1056 1059 </div> 1057 <p id="rfc.section.5.1.p.1 8"> <b>Note:</b> A user agent might be provided with a default set of quality values for certain media ranges. However, unless the user agent1060 <p id="rfc.section.5.1.p.19"> <b>Note:</b> A user agent might be provided with a default set of quality values for certain media ranges. However, unless the user agent 1058 1061 is a closed system which cannot interact with other rendering agents, this default set ought to be configurable by the user. 1059 1062 </p> … … 1118 1121 <p id="rfc.section.5.3.p.8">If no Accept-Encoding field is present in a request, the server <em class="bcp14">MAY</em> assume that the client will accept any content coding. In this case, if "identity" is one of the available content-codings, 1119 1122 then the server <em class="bcp14">SHOULD</em> use the "identity" content-coding, unless it has additional information that a different content-coding is meaningful to the 1120 client. 1121 </p> 1122 <d l class="empty">1123 < dd> <b>Note:</b> If the request does not include an Accept-Encoding field, and if the "identity" content-coding is unavailable, then content-codings1123 client. 1124 </p> 1125 <div class="note"> 1126 <p> <b>Note:</b> If the request does not include an Accept-Encoding field, and if the "identity" content-coding is unavailable, then content-codings 1124 1127 commonly understood by HTTP/1.0 clients (i.e., "gzip" and "compress") are preferred; some older clients improperly display 1125 1128 messages sent with other content-codings. The server might also make this decision based on information about the particular 1126 1129 user-agent or client. 1127 </dd> 1128 <dd> <b>Note:</b> Most HTTP/1.0 applications do not recognize or obey qvalues associated with content-codings. This means that qvalues will 1130 </p> 1131 </div> 1132 <div class="note"> 1133 <p> <b>Note:</b> Most HTTP/1.0 applications do not recognize or obey qvalues associated with content-codings. This means that qvalues will 1129 1134 not work and are not permitted with x-gzip or x-compress. 1130 </ dd>1131 </d l>1135 </p> 1136 </div> 1132 1137 <div id="rfc.iref.a.4"></div> 1133 1138 <div id="rfc.iref.h.4"></div> … … 1155 1160 </blockquote> 1156 1161 <p id="rfc.section.5.4.p.8">The special range "*", if present in the Accept-Language field, matches every tag not matched by any other range present in 1157 the Accept-Language field. 1158 </p> 1159 <d l class="empty">1160 < dd> <b>Note:</b> This use of a prefix matching rule does not imply that language tags are assigned to languages in such a way that it is always1162 the Accept-Language field. 1163 </p> 1164 <div class="note"> 1165 <p> <b>Note:</b> This use of a prefix matching rule does not imply that language tags are assigned to languages in such a way that it is always 1161 1166 true that if a user understands a language with a certain tag, then this user will also understand all languages with tags 1162 1167 for which this tag is a prefix. The prefix rule simply allows the use of prefix tags if this is the case. 1163 </ dd>1164 </d l>1165 <p id="rfc.section.5.4.p. 9">The language quality factor assigned to a language-tag by the Accept-Language field is the quality value of the longest language-range1168 </p> 1169 </div> 1170 <p id="rfc.section.5.4.p.10">The language quality factor assigned to a language-tag by the Accept-Language field is the quality value of the longest language-range 1166 1171 in the field that matches the language-tag. If no language-range in the field matches the tag, the language quality factor 1167 1172 assigned is 0. If no Accept-Language header is present in the request, the server <em class="bcp14">SHOULD</em> assume that all languages are equally acceptable. If an Accept-Language header is present, then all languages which are assigned 1168 1173 a quality factor greater than 0 are acceptable. 1169 1174 </p> 1170 <p id="rfc.section.5.4.p.1 0">It might be contrary to the privacy expectations of the user to send an Accept-Language header with the complete linguistic1175 <p id="rfc.section.5.4.p.11">It might be contrary to the privacy expectations of the user to send an Accept-Language header with the complete linguistic 1171 1176 preferences of the user in every request. For a discussion of this issue, see <a href="#privacy.issues.connected.to.accept.headers" title="Privacy Issues Connected to Accept Headers">Section 7.1</a>. 1172 1177 </p> 1173 <p id="rfc.section.5.4.p.1 1">As intelligibility is highly dependent on the individual user, it is recommended that client applications make the choice1174 of linguistic preference available to the user. If the choice is not made available, then the Accept-Language header field <em class="bcp14">MUST NOT</em> be given in the request. 1175 </p> 1176 <d l class="empty">1177 < dd> <b>Note:</b> When making the choice of linguistic preference available to the user, we remind implementors of the fact that users are not1178 <p id="rfc.section.5.4.p.12">As intelligibility is highly dependent on the individual user, it is recommended that client applications make the choice 1179 of linguistic preference available to the user. If the choice is not made available, then the Accept-Language header field <em class="bcp14">MUST NOT</em> be given in the request. 1180 </p> 1181 <div class="note"> 1182 <p> <b>Note:</b> When making the choice of linguistic preference available to the user, we remind implementors of the fact that users are not 1178 1183 familiar with the details of language matching as described above, and should provide appropriate guidance. As an example, 1179 1184 users might assume that on selecting "en-gb", they will be served any kind of English document if British English is not available. 1180 1185 A user agent might suggest in such a case to add "en" to get the best matching behavior. 1181 </ dd>1182 </d l>1186 </p> 1187 </div> 1183 1188 <div id="rfc.iref.c.2"></div> 1184 1189 <div id="rfc.iref.h.5"></div> … … 1279 1284 The Transfer-Encoding header field is not allowed within body-parts. 1280 1285 </p> 1281 <p id="rfc.section.5.8.p.8">Conversion of all line breaks to CRLF <em class="bcp14">MUST NOT</em> be done before computing or checking the digest: the line break convention used in the text actually transmitted <em class="bcp14">MUST</em> be left unaltered when computing the digest. 1282 </p> 1283 <d l class="empty">1284 < dd> <b>Note:</b> while the definition of Content-MD5 is exactly the same for HTTP as in RFC 1864 for MIME entity-bodies, there are several1286 <p id="rfc.section.5.8.p.8">Conversion of all line breaks to CRLF <em class="bcp14">MUST NOT</em> be done before computing or checking the digest: the line break convention used in the text actually transmitted <em class="bcp14">MUST</em> be left unaltered when computing the digest. 1287 </p> 1288 <div class="note"> 1289 <p> <b>Note:</b> while the definition of Content-MD5 is exactly the same for HTTP as in RFC 1864 for MIME entity-bodies, there are several 1285 1290 ways in which the application of Content-MD5 to HTTP entity-bodies differs from its application to MIME entity-bodies. One 1286 1291 is that HTTP, unlike MIME, does not use Content-Transfer-Encoding, and does use Transfer-Encoding and Content-Encoding. Another … … 1288 1293 used to compute the digest is the transmission byte order defined for the type. Lastly, HTTP allows transmission of text types 1289 1294 with any of several line break conventions and not just the canonical form using CRLF. 1290 </ dd>1291 </d l>1295 </p> 1296 </div> 1292 1297 <div id="rfc.iref.c.6"></div> 1293 1298 <div id="rfc.iref.h.9"></div>
Note: See TracChangeset
for help on using the changeset viewer.