Changeset 96 for draft-ietf-httpbis/latest/p3-payload.html
- Timestamp:
- 22/12/07 19:14:28 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p3-payload.html
r95 r96 485 485 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 486 486 <ul class="toc"> 487 <li class="tocline0">1. <a href="#introduction">Introduction</a></li> 487 <li class="tocline0">1. <a href="#introduction">Introduction</a><ul class="toc"> 488 <li class="tocline1">1.1 <a href="#intro.requirements">Requirements</a></li> 489 </ul> 490 </li> 488 491 <li class="tocline0">2. <a href="#protocol.parameters">Protocol Parameters</a><ul class="toc"> 489 492 <li class="tocline1">2.1 <a href="#character.sets">Character Sets</a><ul class="toc"> … … 559 562 edit. 560 563 </p> 564 <h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a id="intro.requirements" href="#intro.requirements">Requirements</a></h2> 565 <p id="rfc.section.1.1.p.1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" 566 in this document are to be interpreted as described in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>. 567 </p> 568 <p id="rfc.section.1.1.p.2">An implementation is not compliant if it fails to satisfy one or more of the <em class="bcp14">MUST</em> or <em class="bcp14">REQUIRED</em> level requirements for the protocols it implements. An implementation that satisfies all the <em class="bcp14">MUST</em> or <em class="bcp14">REQUIRED</em> level and all the <em class="bcp14">SHOULD</em> level requirements for its protocols is said to be "unconditionally compliant"; one that satisfies all the <em class="bcp14">MUST</em> level requirements but not all the <em class="bcp14">SHOULD</em> level requirements for its protocols is said to be "conditionally compliant." 569 </p> 561 570 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1> 562 571 <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a id="character.sets" href="#character.sets">Character Sets</a></h2> … … 954 963 </p> 955 964 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> Accept-Encoding = "Accept-Encoding" ":" 956 1#( codings [ ";" "q" "=" qvalue ] ) 957 codings = ( content-coding | "*" ) 958 </pre><p id="rfc.section.5.3.p.3">Examples of its use are:</p> 959 <div id="rfc.figure.u.21"></div><pre class="text"> Accept-Encoding: compress, gzip 960 Accept-Encoding: 961 Accept-Encoding: * 962 Accept-Encoding: compress;q=0.5, gzip;q=1.0 963 Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 964 </pre><p id="rfc.section.5.3.p.5">A server tests whether a content-coding is acceptable, according to an Accept-Encoding field, using these rules: </p> 965 <ol> 966 <li>If the content-coding is one of the content-codings listed in the Accept-Encoding field, then it is acceptable, unless it 967 is accompanied by a qvalue of 0. (As defined in <a href="#quality.values" title="Quality Values">Section 2.4</a>, a qvalue of 0 means "not acceptable.") 968 </li> 969 <li>The special "*" symbol in an Accept-Encoding field matches any available content-coding not explicitly listed in the header 970 field. 971 </li> 972 <li>If multiple content-codings are acceptable, then the acceptable content-coding with the highest non-zero qvalue is preferred.</li> 973 <li>The "identity" content-coding is always acceptable, unless specifically refused because the Accept-Encoding field includes 974 "identity;q=0", or because the field includes "*;q=0" and does not explicitly include the "identity" content-coding. If the 975 Accept-Encoding field-value is empty, then only the "identity" encoding is acceptable. 976 </li> 977 </ol> 978 <p id="rfc.section.5.3.p.6">If an Accept-Encoding field is present in a request, and if the server cannot send a response which is acceptable according 979 to the Accept-Encoding header, then the server <em class="bcp14">SHOULD</em> send an error response with the 406 (Not Acceptable) status code. 980 </p> 981 <p id="rfc.section.5.3.p.7">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, 982 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 983 client. 984 </p> 985 <dl class="empty"> 986 <dd> <b>Note:</b> If the request does not include an Accept-Encoding field, and if the "identity" content-coding is unavailable, then content-codings 987 commonly understood by HTTP/1.0 clients (i.e., "gzip" and "compress") are preferred; some older clients improperly display 988 messages sent with other content-codings. The server might also make this decision based on information about the particular 989 user-agent or client. 990 </dd> 991 <dd> <b>Note:</b> Most HTTP/1.0 applications do not recognize or obey qvalues associated with content-codings. This means that qvalues will 992 not work and are not permitted with x-gzip or x-compress. 993 </dd> 994 </dl> 995 <div id="rfc.iref.a.4"></div> 996 <div id="rfc.iref.h.4"></div> 997 <h2 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a> <a id="header.accept-language" href="#header.accept-language">Accept-Language</a></h2> 998 <p id="rfc.section.5.4.p.1">The Accept-Language request-header field is similar to Accept, but restricts the set of natural languages that are preferred 999 as a response to the request. Language tags are defined in <a href="#language.tags" title="Language Tags">Section 2.5</a>. 1000 </p> 1001 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span> Accept-Language = "Accept-Language" ":" 1002 1#( language-range [ ";" "q" "=" qvalue ] ) 1003 language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) 1004 </pre><p id="rfc.section.5.4.p.3">Each language-range <em class="bcp14">MAY</em> be given an associated quality value which represents an estimate of the user's preference for the languages specified by 1005 that range. The quality value defaults to "q=1". For example, 1006 </p> 1007 <div id="rfc.figure.u.23"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.7 1008 </pre><p id="rfc.section.5.4.p.5">would mean: "I prefer Danish, but will accept British English and other types of English." A language-range matches a language-tag 1009 if it exactly equals the tag, or if it exactly equals a prefix of the tag such that the first tag character following the 1010 prefix is "-". The special range "*", if present in the Accept-Language field, matches every tag not matched by any other 1011 range present in the Accept-Language field. 1012 </p> 1013 <dl class="empty"> 1014 <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 always 1015 true that if a user understands a language with a certain tag, then this user will also understand all languages with tags 1016 for which this tag is a prefix. The prefix rule simply allows the use of prefix tags if this is the case. 1017 </dd> 1018 </dl> 1019 <p id="rfc.section.5.4.p.6">The language quality factor assigned to a language-tag by the Accept-Language field is the quality value of the longest language-range 1020 in the field that matches the language-tag. If no language-range in the field matches the tag, the language quality factor 1021 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 1022 a quality factor greater than 0 are acceptable. 1023 </p> 1024 <p id="rfc.section.5.4.p.7">It might be contrary to the privacy expectations of the user to send an Accept-Language header with the complete linguistic 1025 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>. 1026 </p> 1027 <p id="rfc.section.5.4.p.8">As intelligibility is highly dependent on the individual user, it is recommended that client applications make the choice 1028 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. 1029 </p> 1030 <dl class="empty"> 1031 <dd> <b>Note:</b> When making the choice of linguistic preference available to the user, we remind implementors of the fact that users are not 1032 familiar with the details of language matching as described above, and should provide appropriate guidance. As an example, 1033 users might assume that on selecting "en-gb", they will be served any kind of English document if British English is not available. 1034 A user agent might suggest in such a case to add "en" to get the best matching behavior. 1035 </dd> 1036 </dl> 1037 <div id="rfc.iref.c.2"></div> 1038 <div id="rfc.iref.h.5"></div> 1039 <h2 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a> <a id="header.content-encoding" href="#header.content-encoding">Content-Encoding</a></h2> 1040 <p id="rfc.section.5.5.p.1">The Content-Encoding entity-header field is used as a modifier to the media-type. When present, its value indicates what additional 1041 content codings have been applied to the entity-body, and thus what decoding mechanisms must be applied in order to obtain 1042 the media-type referenced by the Content-Type header field. Content-Encoding is primarily used to allow a document to be compressed 1043 without losing the identity of its underlying media type. 1044 </p> 1045 <div id="rfc.figure.u.24"></div><pre class="inline"><span id="rfc.iref.g.26"></span> Content-Encoding = "Content-Encoding" ":" 1#content-coding 1046 </pre><p id="rfc.section.5.5.p.3">Content codings are defined in <a href="#content.codings" title="Content Codings">Section 2.2</a>. An example of its use is 1047 </p> 1048 <div id="rfc.figure.u.25"></div><pre class="text"> Content-Encoding: gzip 1049 </pre><p id="rfc.section.5.5.p.5">The content-coding is a characteristic of the entity identified by the Request-URI. Typically, the entity-body is stored with 1050 this encoding and is only decoded before rendering or analogous usage. However, a non-transparent proxy <em class="bcp14">MAY</em> modify the content-coding if the new coding is known to be acceptable to the recipient, unless the "no-transform" cache-control 1051 directive is present in the message. 1052 </p> 1053 <p id="rfc.section.5.5.p.6">If the content-coding of an entity is not "identity", then the response <em class="bcp14">MUST</em> include a Content-Encoding entity-header (<a href="#header.content-encoding" id="rfc.xref.header.content-encoding.3" title="Content-Encoding">Section 5.5</a>) that lists the non-identity content-coding(s) used. 1054 </p> 1055 <p id="rfc.section.5.5.p.7">If the content-coding of an entity in a request message is not acceptable to the origin server, the server <em class="bcp14">SHOULD</em> respond with a status code of 415 (Unsupported Media Type). 1056 </p> 1057 <p id="rfc.section.5.5.p.8">If multiple encodings have been applied to an entity, 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 entity-header fields not defined by this specification. 1058 </p> 1059 <div id="rfc.iref.c.3"></div> 1060 <div id="rfc.iref.h.6"></div> 1061 <h2 id="rfc.section.5.6"><a href="#rfc.section.5.6">5.6</a> <a id="header.content-language" href="#header.content-language">Content-Language</a></h2> 1062 <p id="rfc.section.5.6.p.1">The Content-Language entity-header field describes the natural language(s) of the intended audience for the enclosed entity. 1063 Note that this might not be equivalent to all the languages used within the entity-body. 1064 </p> 1065 <div id="rfc.figure.u.26"></div><pre class="inline"><span id="rfc.iref.g.27"></span> Content-Language = "Content-Language" ":" 1#language-tag 1066 </pre><p id="rfc.section.5.6.p.3">Language tags are defined in <a href="#language.tags" title="Language Tags">Section 2.5</a>. The primary purpose of Content-Language is to allow a user to identify and differentiate entities according to the user's 1067 own preferred language. Thus, if the body content is intended only for a Danish-literate audience, the appropriate field is 1068 </p> 1069 <div id="rfc.figure.u.27"></div><pre class="text"> Content-Language: da 1070 </pre><p id="rfc.section.5.6.p.5">If no Content-Language is specified, the default is that the content is intended for all language audiences. This might mean 1071 that the sender does not consider it to be specific to any natural language, or that the sender does not know for which language 1072 it is intended. 1073 </p> 1074 <p id="rfc.section.5.6.p.6">Multiple languages <em class="bcp14">MAY</em> be listed for content that is intended for multiple audiences. For example, a rendition of the "Treaty of Waitangi," presented 1075 simultaneously in the original Maori and English versions, would call for 1076 </p> 1077 <div id="rfc.figure.u.28"></div><pre class="text"> Content-Language: mi, en 1078 </pre><p id="rfc.section.5.6.p.8">However, just because multiple languages are present within an entity does not mean that it is intended for multiple linguistic 1079 audiences. An example would be a beginner's language primer, such as "A First Lesson in Latin," which is clearly intended 1080 to be used by an English-literate audience. In this case, the Content-Language would properly only include "en". 1081 </p> 1082 <p id="rfc.section.5.6.p.9">Content-Language <em class="bcp14">MAY</em> be applied to any media type -- it is not limited to textual documents. 1083 </p> 1084 <div id="rfc.iref.c.4"></div> 1085 <div id="rfc.iref.h.7"></div> 1086 <h2 id="rfc.section.5.7"><a href="#rfc.section.5.7">5.7</a> <a id="header.content-location" href="#header.content-location">Content-Location</a></h2> 1087 <p id="rfc.section.5.7.p.1">The Content-Location entity-header field <em class="bcp14">MAY</em> be used to supply the resource location for the entity enclosed in the message when that entity is accessible from a location 1088 separate from the requested resource's URI. A server <em class="bcp14">SHOULD</em> provide a Content-Location for the variant corresponding to the response entity; especially in the case where a resource has 1089 multiple entities associated with it, and those entities actually have separate locations by which they might be individually 1090 accessed, the server <em class="bcp14">SHOULD</em> provide a Content-Location for the particular variant which is returned. 1091 </p> 1092 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.28"></span> Content-Location = "Content-Location" ":" 1093 ( absoluteURI | relativeURI ) 1094 </pre><p id="rfc.section.5.7.p.3">The value of Content-Location also defines the base URI for the entity.</p> 1095 <p id="rfc.section.5.7.p.4">The Content-Location value is not a replacement for the original requested URI; it is only a statement of the location of 1096 the resource corresponding to this particular entity at the time of the request. Future requests <em class="bcp14">MAY</em> specify the Content-Location URI as the request-URI if the desire is to identify the source of that particular entity. 1097 </p> 1098 <p id="rfc.section.5.7.p.5">A cache cannot assume that an entity with a Content-Location different from the URI used to retrieve it can be used to respond 1099 to later requests on that Content-Location URI. However, the Content-Location can be used to differentiate between multiple 1100 entities retrieved from a single requested resource, as described in <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>. 1101 </p> 1102 <p id="rfc.section.5.7.p.6">If the Content-Location is a relative URI, the relative URI is interpreted relative to the Request-URI.</p> 1103 <p id="rfc.section.5.7.p.7">The meaning of the Content-Location header in PUT or POST requests is undefined; servers are free to ignore it in those cases.</p> 1104 <div id="rfc.iref.c.5"></div> 1105 <div id="rfc.iref.h.8"></div> 1106 <h2 id="rfc.section.5.8"><a href="#rfc.section.5.8">5.8</a> <a id="header.content-md5" href="#header.content-md5">Content-MD5</a></h2> 1107 <p id="rfc.section.5.8.p.1">The Content-MD5 entity-header field, as defined in RFC 1864 <a href="#RFC1864" id="rfc.xref.RFC1864.1"><cite title="The Content-MD5 Header Field">[RFC1864]</cite></a>, is an MD5 digest of the entity-body for the purpose of providing an end-to-end message integrity check (MIC) of the entity-body. 1108 (Note: a MIC is good for detecting accidental modification of the entity-body in transit, but is not proof against malicious 1109 attacks.) 1110 </p> 1111 <div id="rfc.figure.u.30"></div><pre class="inline"><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span> Content-MD5 = "Content-MD5" ":" md5-digest 1112 md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864> 1113 </pre><p id="rfc.section.5.8.p.3">The Content-MD5 header field <em class="bcp14">MAY</em> be generated by an origin server or client to function as an integrity check of the entity-body. Only origin servers or clients <em class="bcp14">MAY</em> generate the Content-MD5 header field; proxies and gateways <em class="bcp14">MUST NOT</em> generate it, as this would defeat its value as an end-to-end integrity check. Any recipient of the entity-body, including 1114 gateways and proxies, <em class="bcp14">MAY</em> check that the digest value in this header field matches that of the entity-body as received. 1115 </p> 1116 <p id="rfc.section.5.8.p.4">The MD5 digest is computed based on the content of the entity-body, including any content-coding that has been applied, but 1117 not including any transfer-encoding applied to the message-body. If the message is received with a transfer-encoding, that 1118 encoding <em class="bcp14">MUST</em> be removed prior to checking the Content-MD5 value against the received entity. 1119 </p> 1120 <p id="rfc.section.5.8.p.5">This has the result that the digest is computed on the octets of the entity-body exactly as, and in the order that, they would 1121 be sent if no transfer-encoding were being applied. 1122 </p> 1123 <p id="rfc.section.5.8.p.6">HTTP extends RFC 1864 to permit the digest to be computed for MIME composite media-types (e.g., multipart/* and message/rfc822), 1124 but this does not change how the digest is computed as defined in the preceding paragraph. 1125 </p> 1126 <p id="rfc.section.5.8.p.7">There are several consequences of this. The entity-body for composite types <em class="bcp14">MAY</em> contain many body-parts, each with its own MIME and HTTP headers (including Content-MD5, Content-Transfer-Encoding, and Content-Encoding 1127 headers). If a body-part has a Content-Transfer-Encoding or Content-Encoding header, it is assumed that the content of the 1128 body-part has had the encoding applied, and the body-part is included in the Content-MD5 digest as is -- i.e., after the application. 1129 The Transfer-Encoding header field is not allowed within body-parts. 1130 </p> 1131 <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. 1132 </p> 1133 <dl class="empty"> 1134 <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 several 1135 ways in which the application of Content-MD5 to HTTP entity-bodies differs from its application to MIME entity-bodies. One 1136 is that HTTP, unlike MIME, does not use Content-Transfer-Encoding, and does use Transfer-Encoding and Content-Encoding. Another 1137 is that HTTP more frequently uses binary content types than MIME, so it is worth noting that, in such cases, the byte order 1138 used to compute the digest is the transmission byte order defined for the type. Lastly, HTTP allows transmission of text types 1139 with any of several line break conventions and not just the canonical form using CRLF. 1140 </dd> 1141 </dl> 1142 <div id="rfc.iref.c.6"></div> 1143 <div id="rfc.iref.h.9"></div> 1144 <h2 id="rfc.section.5.9"><a href="#rfc.section.5.9">5.9</a> <a id="header.content-type" href="#header.content-type">Content-Type</a></h2> 1145 <p id="rfc.section.5.9.p.1">The Content-Type entity-header field indicates the media type of the entity-body sent to the recipient or, in the case of 1146 the HEAD method, the media type that would have been sent had the request been a GET. 1147 </p> 1148 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.31"></span> Content-Type = "Content-Type" ":" media-type 1149 </pre><p id="rfc.section.5.9.p.3">Media types are defined in <a href="#media.types" title="Media Types">Section 2.3</a>. An example of the field is 1150 </p> 1151 <div id="rfc.figure.u.32"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-4 1152 </pre><p id="rfc.section.5.9.p.5">Further discussion of methods for identifying the media type of an entity is provided in <a href="#type" title="Type">Section 3.2.1</a>. 1153 </p> 1154 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1> 1155 <p id="rfc.section.6.p.1">TBD.</p> 1156 <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="security.considerations" href="#security.considerations">Security Considerations</a></h1> 1157 <p id="rfc.section.7.p.1">This section is meant to inform application developers, information providers, and users of the security limitations in HTTP/1.1 1158 as described by this document. The discussion does not include definitive solutions to the problems revealed, though it does 1159 make some suggestions for reducing security risks. 1160 </p> 1161 <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a> <a id="privacy.issues.connected.to.accept.headers" href="#privacy.issues.connected.to.accept.headers">Privacy Issues Connected to Accept Headers</a></h2> 1162 <p id="rfc.section.7.1.p.1">Accept request-headers can reveal information about the user to all servers which are accessed. The Accept-Language header 1163 in particular can reveal information the user would consider to be of a private nature, because the understanding of particular 1164 languages is often strongly correlated to the membership of a particular ethnic group. User agents which offer the option 1165 to configure the contents of an Accept-Language header to be sent in every request are strongly encouraged to let the configuration 1166 process include a message which makes the user aware of the loss of privacy involved. 1167 </p> 1168 <p id="rfc.section.7.1.p.2">An approach that limits the loss of privacy would be for a user agent to omit the sending of Accept-Language headers by default, 1169 and to ask the user whether or not to start sending Accept-Language headers to a server if it detects, by looking for any 1170 Vary response-header fields generated by the server, that such sending could improve the quality of service. 1171 </p> 1172 <p id="rfc.section.7.1.p.3">Elaborate user-customized accept header fields sent in every request, in particular if these include quality values, can be 1173 used by servers as relatively reliable and long-lived user identifiers. Such user identifiers would allow content providers 1174 to do click-trail tracking, and would allow collaborating content providers to match cross-server click-trails or form submissions 1175 of individual users. Note that for many users not behind a proxy, the network address of the host running the user agent will 1176 also serve as a long-lived user identifier. In environments where proxies are used to enhance privacy, user agents ought to 1177 be conservative in offering accept header configuration options to end users. As an extreme privacy measure, proxies could 1178 filter the accept headers in relayed requests. General purpose user agents which provide a high degree of header configurability <em class="bcp14">SHOULD</em> warn users about the loss of privacy which can be involved. 1179 </p> 1180 <h2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a> <a id="content-disposition.issues" href="#content-disposition.issues">Content-Disposition Issues</a></h2> 1181 <p id="rfc.section.7.2.p.1">RFC 1806 <a href="#RFC1806" id="rfc.xref.RFC1806.1"><cite title="Communicating Presentation Information in Internet Messages: The Content-Disposition Header">[RFC1806]</cite></a>, from which the often implemented Content-Disposition (see <a href="#content-disposition" id="rfc.xref.content-disposition.1" title="Content-Disposition">Appendix B.1</a>) header in HTTP is derived, has a number of very serious security considerations. Content-Disposition is not part of the 1182 HTTP standard, but since it is widely implemented, we are documenting its use and risks for implementors. See RFC 2183 <a href="#RFC2183" id="rfc.xref.RFC2183.1"><cite title="Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field">[RFC2183]</cite></a> (which updates RFC 1806) for details. 1183 </p> 1184 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="ack" href="#ack">Acknowledgments</a></h1> 1185 <h1 id="rfc.references"><a href="#rfc.section.9" id="rfc.section.9">9.</a> References 1186 </h1> 1187 <table summary="References"> 1188 <tr> 1189 <td class="reference"><b id="Part1">[Part1]</b></td> 1190 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-latest">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-latest (work in progress), December 2007. 1191 </td> 1192 </tr> 1193 <tr> 1194 <td class="reference"><b id="Part2">[Part2]</b></td> 1195 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-latest">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-latest (work in progress), December 2007. 1196 </td> 1197 </tr> 1198 <tr> 1199 <td class="reference"><b id="Part4">[Part4]</b></td> 1200 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-latest">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-latest (work in progress), December 2007. 1201 </td> 1202 </tr> 1203 <tr> 1204 <td class="reference"><b id="Part5">[Part5]</b></td> 1205 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-latest">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-latest (work in progress), December 2007. 1206 </td> 1207 </tr> 1208 <tr> 1209 <td class="reference"><b id="Part6">[Part6]</b></td> 1210 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-latest">HTTP/1.1, part 6: Caching</a>”, Internet-Draft draft-ietf-httpbis-p6-cache-latest (work in progress), December 2007. 1211 </td> 1212 </tr> 1213 <tr> 1214 <td class="reference"><b id="RFC1766">[RFC1766]</b></td> 1215 <td class="top"><a title="UNINETT">Alvestrand, H.</a>, “<a href="http://tools.ietf.org/html/rfc1766">Tags for the Identification of Languages</a>”, RFC 1766, March 1995. 1216 </td> 1217 </tr> 1218 <tr> 1219 <td class="reference"><b id="RFC1806">[RFC1806]</b></td> 1220 <td class="top"><a title="New Century Systems">Troost, R.</a> and <a title="QUALCOMM Incorporated">S. Dorner</a>, “<a href="http://tools.ietf.org/html/rfc1806">Communicating Presentation Information in Internet Messages: The Content-Disposition Header</a>”, RFC 1806, June 1995. 1221 </td> 1222 </tr> 1223 <tr> 1224 <td class="reference"><b id="RFC1864">[RFC1864]</b></td> 1225 <td class="top"><a title="Carnegie Mellon University">Myers, J.</a> and <a title="Dover Beach Consulting, Inc.">M. Rose</a>, “<a href="http://tools.ietf.org/html/rfc1864">The Content-MD5 Header Field</a>”, RFC 1864, October 1995. 1226 </td> 1227 </tr> 1228 <tr> 1229 <td class="reference"><b id="RFC1867">[RFC1867]</b></td> 1230 <td class="top"><a title="Xerox Palo Alto Research Center">Masinter, L.</a> and <a title="XSoft, Xerox Corporation">E. Nebel</a>, “<a href="http://tools.ietf.org/html/rfc1867">Form-based File Upload in HTML</a>”, RFC 1867, November 1995. 1231 </td> 1232 </tr> 1233 <tr> 1234 <td class="reference"><b id="RFC1950">[RFC1950]</b></td> 1235 <td class="top"><a title="Aladdin Enterprises">Deutsch, L.P.</a> and J-L. Gailly, “<a href="http://tools.ietf.org/html/rfc1950">ZLIB Compressed Data Format Specification version 3.3</a>”, RFC 1950, May 1996. 1236 </td> 1237 </tr> 1238 <tr> 1239 <td class="reference"><b id="RFC1951">[RFC1951]</b></td> 1240 <td class="top"><a title="Aladdin Enterprises">Deutsch, P.</a>, “<a href="http://tools.ietf.org/html/rfc1951">DEFLATE Compressed Data Format Specification version 1.3</a>”, RFC 1951, May 1996. 1241 </td> 1242 </tr> 1243 <tr> 1244 <td class="reference"><b id="RFC1952">[RFC1952]</b></td> 1245 <td class="top"><a title="Aladdin Enterprises">Deutsch, P.</a>, <a>Gailly, J-L.</a>, <a>Adler, M.</a>, <a>Deutsch, L.P.</a>, and <a>G. Randers-Pehrson</a>, “<a href="http://tools.ietf.org/html/rfc1952">GZIP file format specification version 4.3</a>”, RFC 1952, May 1996. 1246 </td> 1247 </tr> 1248 <tr> 1249 <td class="reference"><b id="RFC2045">[RFC2045]</b></td> 1250 <td class="top"><a title="Innosoft International, Inc.">Freed, N.</a> and <a title="First Virtual Holdings">N.S. Borenstein</a>, “<a href="http://tools.ietf.org/html/rfc2045">Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</a>”, RFC 2045, November 1996. 1251 </td> 1252 </tr> 1253 <tr> 1254 <td class="reference"><b id="RFC2046">[RFC2046]</b></td> 1255 <td class="top"><a title="Innosoft International, Inc.">Freed, N.</a> and <a title="First Virtual Holdings">N. Borenstein</a>, “<a href="http://tools.ietf.org/html/rfc2046">Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a>”, RFC 2046, November 1996. 1256 </td> 1257 </tr> 1258 <tr> 1259 <td class="reference"><b id="RFC2049">[RFC2049]</b></td> 1260 <td class="top"><a title="Innosoft International, Inc.">Freed, N.</a> and <a title="First Virtual Holdings">N.S. Borenstein</a>, “<a href="http://tools.ietf.org/html/rfc2049">Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples</a>”, RFC 2049, November 1996. 1261 </td> 1262 </tr> 1263 <tr> 1264 <td class="reference"><b id="RFC2068">[RFC2068]</b></td> 1265 <td class="top"><a title="University of California, Irvine, Department of Information and Computer Science">Fielding, R.</a>, <a title="MIT Laboratory for Computer Science">Gettys, J.</a>, <a title="Digital Equipment Corporation, Western Research Laboratory">Mogul, J.</a>, <a title="MIT Laboratory for Computer Science">Nielsen, H.</a>, and <a title="MIT Laboratory for Computer Science">T. Berners-Lee</a>, “<a href="http://tools.ietf.org/html/rfc2068">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2068, January 1997. 1266 </td> 1267 </tr> 1268 <tr> 1269 <td class="reference"><b id="RFC2076">[RFC2076]</b></td> 1270 <td class="top"><a title="Stockholm University/KTH">Palme, J.</a>, “<a href="http://tools.ietf.org/html/rfc2076">Common Internet Message Headers</a>”, RFC 2076, February 1997. 1271 </td> 1272 </tr> 1273 <tr> 1274 <td class="reference"><b id="RFC2110">[RFC2110]</b></td> 1275 <td class="top"><a title="Stockholm University and KTH">Palme, J.</a> and <a title="Microsoft Corporation">A. Hopmann</a>, “<a href="http://tools.ietf.org/html/rfc2110">MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML)</a>”, RFC 2110, March 1997. 1276 </td> 1277 </tr> 1278 <tr> 1279 <td class="reference"><b id="RFC2183">[RFC2183]</b></td> 1280 <td class="top"><a title="New Century Systems">Troost, R.</a>, <a title="QUALCOMM Incorporated">Dorner, S.</a>, and <a title="Department of Computer Science">K. Moore</a>, “<a href="http://tools.ietf.org/html/rfc2183">Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field</a>”, RFC 2183, August 1997. 1281 </td> 1282 </tr> 1283 <tr> 1284 <td class="reference"><b id="RFC2277">[RFC2277]</b></td> 1285 <td class="top"><a title="UNINETT">Alvestrand, H.T.</a>, “<a href="http://tools.ietf.org/html/rfc2277">IETF Policy on Character Sets and Languages</a>”, BCP 18, RFC 2277, January 1998. 1286 </td> 1287 </tr> 1288 <tr> 1289 <td class="reference"><b id="RFC2279">[RFC2279]</b></td> 1290 <td class="top"><a title="Alis Technologies">Yergeau, F.</a>, “<a href="http://tools.ietf.org/html/rfc2279">UTF-8, a transformation format of ISO 10646</a>”, RFC 2279, January 1998. 1291 </td> 1292 </tr> 1293 <tr> 1294 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 1295 <td class="top"><a title="University of California, Irvine">Fielding, R.</a>, <a title="W3C">Gettys, J.</a>, <a title="Compaq Computer Corporation">Mogul, J.</a>, <a title="MIT Laboratory for Computer Science">Frystyk, H.</a>, <a title="Xerox Corporation">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, and <a title="W3C">T. Berners-Lee</a>, “<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 1296 </td> 1297 </tr> 1298 <tr> 1299 <td class="reference"><b id="RFC4288">[RFC4288]</b></td> 1300 <td class="top"><a title="Sun Microsystems">Freed, N.</a> and <a>J. Klensin</a>, “<a href="http://tools.ietf.org/html/rfc4288">Media Type Specifications and Registration Procedures</a>”, BCP 13, RFC 4288, December 2005. 1301 </td> 1302 </tr> 1303 <tr> 1304 <td class="reference"><b id="RFC822">[RFC822]</b></td> 1305 <td class="top"><a title="University of Delaware, Dept. of Electrical Engineering">Crocker, D.H.</a>, “<a href="http://tools.ietf.org/html/rfc822">Standard for the format of ARPA Internet text messages</a>”, STD 11, RFC 822, August 1982. 1306 </td> 1307 </tr> 1308 </table> 1309 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1310 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1311 (editor) 1312 <span class="n hidden"><span class="family-name">Fielding</span><span class="given-name">Roy T.</span></span></span><span class="org vcardline">Day Software</span><span class="adr"><span class="street-address vcardline">23 Corporate Plaza DR, Suite 280</span><span class="vcardline"><span class="locality">Newport Beach</span>, <span class="region">CA</span> <span class="postal-code">92660</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline tel">Phone: <a href="tel:+1-949-706-5300"><span class="value">+1-949-706-5300</span></a></span><span class="vcardline tel"><span class="type">Fax</span>: <a href="fax:+1-949-706-5305"><span class="value">+1-949-706-5305</span></a></span><span class="vcardline">EMail: <a><span class="email">fielding@gbiv.com</span></a></span><span class="vcardline">URI: <a href="http://roy.gbiv.com/" class="url">http://roy.gbiv.com/</a></span></address> 1313 <address class="vcard"><span class="vcardline"><span class="fn">Jim Gettys</span><span class="n hidden"><span class="family-name">Gettys</span><span class="given-name">Jim</span></span></span><span class="org vcardline">One Laptop per Child</span><span class="adr"><span class="street-address vcardline">21 Oak Knoll Road</span><span class="vcardline"><span class="locality">Carlisle</span>, <span class="region">MA</span> <span class="postal-code">01741</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">jg@laptop.org</span></a></span><span class="vcardline">URI: <a href="http://www.laptop.org/" class="url">http://www.laptop.org/</a></span></address> 1314 <address class="vcard"><span class="vcardline"><span class="fn">Jeffrey C. Mogul</span><span class="n hidden"><span class="family-name">Mogul</span><span class="given-name">Jeffrey C.</span></span></span><span class="org vcardline">Hewlett-Packard Company</span><span class="adr"><span class="street-address vcardline">HP Labs, Large Scale Systems Group</span><span class="street-address vcardline">1501 Page Mill Road, MS 1177</span><span class="vcardline"><span class="locality">Palo Alto</span>, <span class="region">CA</span> <span class="postal-code">94304</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">JeffMogul@acm.org</span></a></span></address> 1315 <address class="vcard"><span class="vcardline"><span class="fn">Henrik Frystyk Nielsen</span><span class="n hidden"><span class="family-name">Frystyk</span></span></span><span class="org vcardline">Microsoft Corporation</span><span class="adr"><span class="street-address vcardline">1 Microsoft Way</span><span class="vcardline"><span class="locality">Redmond</span>, <span class="region">WA</span> <span class="postal-code">98052</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">henrikn@microsoft.com</span></a></span></address> 1316 <address class="vcard"><span class="vcardline"><span class="fn">Larry Masinter</span><span class="n hidden"><span class="family-name">Masinter</span><span class="given-name">Larry</span></span></span><span class="org vcardline">Adobe Systems, Incorporated</span><span class="adr"><span class="street-address vcardline">345 Park Ave</span><span class="vcardline"><span class="locality">San Jose</span>, <span class="region">CA</span> <span class="postal-code">95110</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">LMM@acm.org</span></a></span><span class="vcardline">URI: <a href="http://larry.masinter.net/" class="url">http://larry.masinter.net/</a></span></address> 1317 <address class="vcard"><span class="vcardline"><span class="fn">Paul J. Leach</span><span class="n hidden"><span class="family-name">Leach</span><span class="given-name">Paul J.</span></span></span><span class="org vcardline">Microsoft Corporation</span><span class="adr"><span class="street-address vcardline">1 Microsoft Way</span><span class="vcardline"><span class="locality">Redmond</span>, <span class="region">WA</span> <span class="postal-code">98052</span></span></span><span class="vcardline">EMail: <a><span class="email">paulle@microsoft.com</span></a></span></address> 1318 <address class="vcard"><span class="vcardline"><span class="fn">Tim Berners-Lee</span><span class="n hidden"><span class="family-name">Berners-Lee</span><span class="given-name">Tim</span></span></span><span class="org vcardline">World Wide Web Consortium</span><span class="adr"><span class="street-address vcardline">MIT Computer Science and Artificial Intelligence Laboratory</span><span class="street-address vcardline">The Stata Center, Building 32</span><span class="street-address vcardline">32 Vassar Street</span><span class="vcardline"><span class="locality">Cambridge</span>, <span class="region">MA</span> <span class="postal-code">02139</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">timbl@w3.org</span></a></span><span class="vcardline">URI: <a href="http://www.w3.org/People/Berners-Lee/" class="url">http://www.w3.org/People/Berners-Lee/</a></span></address> 1319 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1320 (editor) 1321 <span class="n hidden"><span class="family-name">Lafon</span><span class="given-name">Yves</span></span></span><span class="org vcardline">World Wide Web Consortium</span><span class="adr"><span class="street-address vcardline">W3C / ERCIM</span><span class="street-address vcardline">2004, rte des Lucioles</span><span class="vcardline"><span class="locality">Sophia-Antipolis</span>, <span class="region">AM</span> <span class="postal-code">06902</span></span><span class="country-name vcardline">France</span></span><span class="vcardline">EMail: <a><span class="email">ylafon@w3.org</span></a></span><span class="vcardline">URI: <a href="http://www.raubacapeu.net/people/yves/" class="url">http://www.raubacapeu.net/people/yves/</a></span></address> 1322 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1323 (editor) 1324 <span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span> <span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline tel"><span class="type">Fax</span>: <a href="fax:+492512807761"><span class="value">+49 251 2807761</span></a></span><span class="vcardline">EMail: <a><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address> 1325 <h1 id="rfc.section.A"><a href="#rfc.section.A">A.</a> <a id="differences.between.http.entities.and.rfc.2045.entities" href="#differences.between.http.entities.and.rfc.2045.entities">Differences Between HTTP Entities and RFC 2045 Entities</a></h1> 1326 <p id="rfc.section.A.p.1">HTTP/1.1 uses many of the constructs defined for Internet Mail (RFC 822 <a href="#RFC822" id="rfc.xref.RFC822.1"><cite title="Standard for the format of ARPA Internet text messages">[RFC822]</cite></a>) and the Multipurpose Internet Mail Extensions (MIME <a href="#RFC2045" id="rfc.xref.RFC2045.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a>) to allow entities to be transmitted in an open variety of representations and with extensible mechanisms. However, RFC 2045 1327 discusses mail, and HTTP has a few features that are different from those described in RFC 2045. These differences were carefully 1328 chosen to optimize performance over binary connections, to allow greater freedom in the use of new media types, to make date 1329 comparisons easier, and to acknowledge the practice of some early HTTP servers and clients. 1330 </p> 1331 <p id="rfc.section.A.p.2">This appendix describes specific areas where HTTP differs from RFC 2045. Proxies and gateways to strict MIME environments <em class="bcp14">SHOULD</em> be aware of these differences and provide the appropriate conversions where necessary. Proxies and gateways from MIME environments 1332 to HTTP also need to be aware of the differences because some conversions might be required. 1333 </p> 1334 <h2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a id="mime-version" href="#mime-version">MIME-Version</a></h2> 1335 <p id="rfc.section.A.1.p.1">HTTP is not a MIME-compliant protocol. However, HTTP/1.1 messages <em class="bcp14">MAY</em> include a single MIME-Version general-header field to indicate what version of the MIME protocol was used to construct the 1336 message. Use of the MIME-Version header field indicates that the message is in full compliance with the MIME protocol (as 1337 defined in RFC 2045<a href="#RFC2045" id="rfc.xref.RFC2045.2"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a>). Proxies/gateways are responsible for ensuring full compliance (where possible) when exporting HTTP messages to strict MIME 1338 environments. 1339 </p> 1340 <div id="rfc.figure.u.33"></div><pre class="inline"><span id="rfc.iref.g.32"></span> MIME-Version = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT 1341 </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 1342 document and not the MIME specification. 1343 </p> 1344 <h2 id="rfc.section.A.2"><a href="#rfc.section.A.2">A.2</a> <a id="conversion.to.canonical.form" href="#conversion.to.canonical.form">Conversion to Canonical Form</a></h2> 1345 <p id="rfc.section.A.2.p.1">RFC 2045 <a href="#RFC2045" id="rfc.xref.RFC2045.3"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a> requires that an Internet mail entity be converted to canonical form prior to being transferred, as described in section <a href="http://tools.ietf.org/html/rfc2049#section-4" id="rfc.xref.RFC2049.1">4</a> of RFC 2049 <a href="#RFC2049" id="rfc.xref.RFC2049.2"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples">[RFC2049]</cite></a>. <a href="#canonicalization.and.text.defaults" title="Canonicalization and Text Defaults">Section 2.3.1</a> of this document describes the forms allowed for subtypes of the "text" media type when transmitted over HTTP. RFC 2046 requires 1346 that content with a type of "text" represent line breaks as CRLF and forbids the use of CR or LF outside of line break sequences. 1347 HTTP allows CRLF, bare CR, and bare LF to indicate a line break within text content when a message is transmitted over HTTP. 1348 </p> 1349 <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 2.3.1</a> of this document to the RFC 2049 canonical form of CRLF. Note, however, that this might be complicated by the presence of 1350 a Content-Encoding and by the fact that HTTP allows the use of some character sets which do not use octets 13 and 10 to represent 1351 CR and LF, as is the case for some multi-byte character sets. 1352 </p> 1353 <p id="rfc.section.A.2.p.3">Implementors should note that conversion will break any cryptographic checksums applied to the original content unless the 1354 original content is already in canonical form. Therefore, the canonical form is recommended for any content that uses such 1355 checksums in HTTP. 1356 </p> 1357 <h2 id="rfc.section.A.3"><a href="#rfc.section.A.3">A.3</a> <a id="introduction.of.content-encoding" href="#introduction.of.content-encoding">Introduction of Content-Encoding</a></h2> 1358 <p id="rfc.section.A.3.p.1">RFC 2045 does not include any concept equivalent to HTTP/1.1's Content-Encoding header field. Since this acts as a modifier 1359 on the media type, proxies and gateways from HTTP to MIME-compliant protocols <em class="bcp14">MUST</em> either change the value of the Content-Type header field or decode the entity-body before forwarding the message. (Some experimental 1360 applications of Content-Type for Internet mail have used a media-type parameter of ";conversions=<content-coding>" to perform 1361 a function equivalent to Content-Encoding. However, this parameter is not part of RFC 2045). 1362 </p> 1363 <h2 id="rfc.section.A.4"><a href="#rfc.section.A.4">A.4</a> <a id="no.content-transfer-encoding" href="#no.content-transfer-encoding">No Content-Transfer-Encoding</a></h2> 1364 <p id="rfc.section.A.4.p.1">HTTP does not use the Content-Transfer-Encoding field of RFC 2045. Proxies and gateways from MIME-compliant protocols to HTTP <em class="bcp14">MUST</em> remove any Content-Transfer-Encoding prior to delivering the response message to an HTTP client. 1365 </p> 1366 <p id="rfc.section.A.4.p.2">Proxies and gateways from HTTP to MIME-compliant protocols are responsible for ensuring that the message is in the correct 1367 format and encoding for safe transport on that protocol, where "safe transport" is defined by the limitations of the protocol 1368 being used. Such a proxy or gateway <em class="bcp14">SHOULD</em> label the data with an appropriate Content-Transfer-Encoding if doing so will improve the likelihood of safe transport over 1369 the destination protocol. 1370 </p> 1371 <h2 id="rfc.section.A.5"><a href="#rfc.section.A.5">A.5</a> <a id="introduction.of.transfer-encoding" href="#introduction.of.transfer-encoding">Introduction of Transfer-Encoding</a></h2> 1372 <p id="rfc.section.A.5.p.1">HTTP/1.1 introduces the Transfer-Encoding header field (<a href="p1-messaging.html#header.transfer-encoding" title="Transfer-Encoding">Section 8.7</a> of <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). Proxies/gateways <em class="bcp14">MUST</em> remove any transfer-coding prior to forwarding a message via a MIME-compliant protocol. 1373 </p> 1374 <h2 id="rfc.section.A.6"><a href="#rfc.section.A.6">A.6</a> <a id="mhtml.line.length" href="#mhtml.line.length">MHTML and Line Length Limitations</a></h2> 1375 <p id="rfc.section.A.6.p.1">HTTP implementations which share code with MHTML <a href="#RFC2110" id="rfc.xref.RFC2110.1"><cite title="MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML)">[RFC2110]</cite></a> implementations need to be aware of MIME line length limitations. Since HTTP does not have this limitation, HTTP does not 1376 fold long lines. MHTML messages being transported by HTTP follow all conventions of MHTML, including line length limitations 1377 and folding, canonicalization, etc., since HTTP transports all message-bodies as payload (see <a href="#multipart.types" title="Multipart Types">Section 2.3.2</a>) and does not interpret the content or any MIME header lines that might be contained therein. 1378 </p> 1379 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="additional.features" href="#additional.features">Additional Features</a></h1> 1380 <p id="rfc.section.B.p.1">RFC 1945 and RFC 2068 document protocol elements used by some existing HTTP implementations, but not consistently and correctly 1381 across most HTTP/1.1 applications. Implementors are advised to be aware of these features, but cannot rely upon their presence 1382 in, or interoperability with, other HTTP/1.1 applications. Some of these describe proposed experimental features, and some 1383 describe features that experimental deployment found lacking that are now addressed in the base HTTP/1.1 specification. 1384 </p> 1385 <p id="rfc.section.B.p.2">A number of other headers, such as Content-Disposition and Title, from SMTP and MIME are also often implemented (see RFC 2076 <a href="#RFC2076" id="rfc.xref.RFC2076.1"><cite title="Common Internet Message Headers">[RFC2076]</cite></a>). 1386 </p> 1387 <div id="rfc.iref.h.10"></div> 1388 <div id="rfc.iref.c.7"></div> 1389 <h2 id="rfc.section.B.1"><a href="#rfc.section.B.1">B.1</a> <a id="content-disposition" href="#content-disposition">Content-Disposition</a></h2> 1390 <p id="rfc.section.B.1.p.1">The Content-Disposition response-header field has been proposed as a means for the origin server to suggest a default filename 1391 if the user requests that the content is saved to a file. This usage is derived from the definition of Content-Disposition 1392 in RFC 1806 <a href="#RFC1806" id="rfc.xref.RFC1806.2"><cite title="Communicating Presentation Information in Internet Messages: The Content-Disposition Header">[RFC1806]</cite></a>. 1393 </p> 1394 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.33"></span><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span><span id="rfc.iref.g.38"></span> content-disposition = "Content-Disposition" ":" 1395 disposition-type *( ";" disposition-parm ) 1396 disposition-type = "attachment" | disp-extension-token 1397 disposition-parm = filename-parm | disp-extension-parm 1398 filename-parm = "filename" "=" quoted-string 1399 disp-extension-token = token 1400 disp-extension-parm = token "=" ( token | quoted-string ) 1401 </pre><p id="rfc.section.B.1.p.3">An example is</p> 1402 <div id="rfc.figure.u.35"></div><pre class="text"> Content-Disposition: attachment; filename="fname.ext" 1403 </pre><p id="rfc.section.B.1.p.5">The receiving user agent <em class="bcp14">SHOULD NOT</em> respect any directory path information present in the filename-parm parameter, which is the only parameter believed to apply 1404 to HTTP implementations at this time. The filename <em class="bcp14">SHOULD</em> be treated as a terminal component only. 1405 </p> 1406 <p id="rfc.section.B.1.p.6">If this header is used in a response with the application/octet-stream content-type, the implied suggestion is that the user 1407 agent should not display the response, but directly enter a `save response as...' dialog. 1408 </p> 1409 <p id="rfc.section.B.1.p.7">See <a href="#content-disposition.issues" title="Content-Disposition Issues">Section 7.2</a> for Content-Disposition security issues. 1410 </p> 1411 <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="changes.from.rfc.2068" href="#changes.from.rfc.2068">Changes from RFC 2068</a></h1> 1412 <p id="rfc.section.C.p.1">Charset wildcarding is introduced to avoid explosion of character set names in accept headers. (<a href="#header.accept-charset" id="rfc.xref.header.accept-charset.2" title="Accept-Charset">Section 5.2</a>) 1413 </p> 1414 <p id="rfc.section.C.p.2">Content-Base was deleted from the specification: it was not implemented widely, and there is no simple, safe way to introduce 1415 it without a robust extension mechanism. In addition, it is used in a similar, but not identical fashion in MHTML <a href="#RFC2110" id="rfc.xref.RFC2110.2"><cite title="MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML)">[RFC2110]</cite></a>. 1416 </p> 1417 <p id="rfc.section.C.p.3">A content-coding of "identity" was introduced, to solve problems discovered in caching. (<a href="#content.codings" title="Content Codings">Section 2.2</a>) 1418 </p> 1419 <p id="rfc.section.C.p.4">Quality Values of zero should indicate that "I don't want something" to allow clients to refuse a representation. (<a href="#quality.values" title="Quality Values">Section 2.4</a>) 1420 </p> 1421 <p id="rfc.section.C.p.5">The Alternates<span id="rfc.iref.a.5"></span><span id="rfc.iref.h.11"></span>, Content-Version<span id="rfc.iref.c.8"></span><span id="rfc.iref.h.12"></span>, Derived-From<span id="rfc.iref.d.2"></span><span id="rfc.iref.h.13"></span>, Link<span id="rfc.iref.l.1"></span><span id="rfc.iref.h.14"></span>, URI<span id="rfc.iref.u.1"></span><span id="rfc.iref.h.15"></span>, Public<span id="rfc.iref.p.1"></span><span id="rfc.iref.h.16"></span> and Content-Base<span id="rfc.iref.c.9"></span><span id="rfc.iref.h.17"></span> header fields were defined in previous versions of this specification, but not commonly implemented. See RFC 2068 <a href="#RFC2068" id="rfc.xref.RFC2068.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2068]</cite></a>. 1422 </p> 1423 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 1424 <p>Copyright © The IETF Trust (2007).</p> 1425 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the 1426 authors retain all their rights. 1427 </p> 1428 <p>This document and the information contained herein are provided on an “AS IS” basis and THE CONTRIBUTOR, THE ORGANIZATION 1429 HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE 1430 DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN 1431 WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1432 </p> 1433 <h1><a id="rfc.ipr" href="#rfc.ipr">Intellectual Property</a></h1> 1434 <p>The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might 1435 be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any 1436 license under such rights might or might not be available; nor does it represent that it has made any independent effort to 1437 identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and 1438 BCP 79. 1439 </p> 1440 <p>Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result 1441 of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users 1442 of this specification can be obtained from the IETF on-line IPR repository at <<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>>. 1443 </p> 1444 <p>The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary 1445 rights that may cover technology that may be required to implement this standard. Please address the information to the IETF 1446 at <a href="mailto:ietf-ipr@ietf.org">ietf-ipr@ietf.org</a>. 1447 </p> 1448 <h1>Acknowledgement</h1> 1449 <p>Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).</p> 1450 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 1451 <p class="noprint"><a href="#rfc.index.A">A</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.U">U</a> 1452 </p> 1453 <div class="print2col"> 1454 <ul class="ind"> 1455 <li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind"> 1456 <li class="indline1">Accept header <a class="iref" href="#rfc.xref.header.accept.1">2.3</a>, <a class="iref" href="#rfc.xref.header.accept.2">4.1</a>, <a class="iref" href="#rfc.iref.a.1"><b>5.1</b></a></li> 1457 <li class="indline1">Accept-Charset header <a class="iref" href="#rfc.xref.header.accept-charset.1">4.1</a>, <a class="iref" href="#rfc.iref.a.2"><b>5.2</b></a>, <a class="iref" href="#rfc.xref.header.accept-charset.2">C</a></li> 1458 <li class="indline1">Accept-Encoding header <a class="iref" href="#rfc.xref.header.accept-encoding.1">2.2</a>, <a class="iref" href="#rfc.xref.header.accept-encoding.2">4.1</a>, <a class="iref" href="#rfc.iref.a.3"><b>5.3</b></a></li> 1459 <li class="indline1">Accept-Language header <a class="iref" href="#rfc.xref.header.accept-language.1">4.1</a>, <a class="iref" href="#rfc.iref.a.4"><b>5.4</b></a></li> 1460 <li class="indline1">Alternates header <a class="iref" href="#rfc.iref.a.5"><b>C</b></a></li> 1461 </ul> 1462 </li> 1463 <li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind"> 1464 <li class="indline1">compress <a class="iref" href="#rfc.iref.c.1">2.2</a></li> 1465 <li class="indline1">Content-Base header <a class="iref" href="#rfc.iref.c.9"><b>C</b></a></li> 1466 <li class="indline1">Content-Disposition header <a class="iref" href="#rfc.xref.content-disposition.1">7.2</a>, <a class="iref" href="#rfc.iref.c.7"><b>B.1</b></a></li> 1467 <li class="indline1">Content-Encoding header <a class="iref" href="#rfc.xref.header.content-encoding.1">2.2</a>, <a class="iref" href="#rfc.xref.header.content-encoding.2">3.1</a>, <a class="iref" href="#rfc.iref.c.2"><b>5.5</b></a>, <a class="iref" href="#rfc.xref.header.content-encoding.3">5.5</a></li> 1468 <li class="indline1">Content-Language header <a class="iref" href="#rfc.xref.header.content-language.1">3.1</a>, <a class="iref" href="#rfc.iref.c.3"><b>5.6</b></a></li> 1469 <li class="indline1">Content-Location header <a class="iref" href="#rfc.xref.header.content-location.1">3.1</a>, <a class="iref" href="#rfc.iref.c.4"><b>5.7</b></a></li> 1470 <li class="indline1">Content-MD5 header <a class="iref" href="#rfc.xref.header.content-md5.1">3.1</a>, <a class="iref" href="#rfc.iref.c.5"><b>5.8</b></a></li> 1471 <li class="indline1">Content-Type header <a class="iref" href="#rfc.xref.header.content-type.1">2.3</a>, <a class="iref" href="#rfc.xref.header.content-type.2">3.1</a>, <a class="iref" href="#rfc.iref.c.6"><b>5.9</b></a></li> 1472 <li class="indline1">Content-Version header <a class="iref" href="#rfc.iref.c.8"><b>C</b></a></li> 1473 </ul> 1474 </li> 1475 <li class="indline0"><a id="rfc.index.D" href="#rfc.index.D"><b>D</b></a><ul class="ind"> 1476 <li class="indline1">deflate <a class="iref" href="#rfc.iref.d.1">2.2</a></li> 1477 <li class="indline1">Derived-From header <a class="iref" href="#rfc.iref.d.2"><b>C</b></a></li> 1478 </ul> 1479 </li> 1480 <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind"> 1481 <li class="indline1"><tt>Grammar</tt> 1482 <ul class="ind"> 1483 <li class="indline1"><tt>Accept</tt> <a class="iref" href="#rfc.iref.g.17"><b>5.1</b></a></li> 1484 <li class="indline1"><tt>Accept-Charset</tt> <a class="iref" href="#rfc.iref.g.21"><b>5.2</b></a></li> 1485 <li class="indline1"><tt>Accept-Encoding</tt> <a class="iref" href="#rfc.iref.g.22"><b>5.3</b></a></li> 1486 <li class="indline1"><tt>accept-extension</tt> <a class="iref" href="#rfc.iref.g.20"><b>5.1</b></a></li> 1487 <li class="indline1"><tt>Accept-Language</tt> <a class="iref" href="#rfc.iref.g.24"><b>5.4</b></a></li> 1488 <li class="indline1"><tt>accept-params</tt> <a class="iref" href="#rfc.iref.g.19"><b>5.1</b></a></li> 1489 <li class="indline1"><tt>attribute</tt> <a class="iref" href="#rfc.iref.g.8"><b>2.3</b></a></li> 1490 <li class="indline1"><tt>charset</tt> <a class="iref" href="#rfc.iref.g.1"><b>2.1</b></a></li> 1491 <li class="indline1"><tt>codings</tt> <a class="iref" href="#rfc.iref.g.23"><b>5.3</b></a></li> 1492 <li class="indline1"><tt>content-coding</tt> <a class="iref" href="#rfc.iref.g.2"><b>2.2</b></a></li> 1493 <li class="indline1"><tt>content-disposition</tt> <a class="iref" href="#rfc.iref.g.33"><b>B.1</b></a></li> 1494 <li class="indline1"><tt>Content-Encoding</tt> <a class="iref" href="#rfc.iref.g.26"><b>5.5</b></a></li> 1495 <li class="indline1"><tt>Content-Language</tt> <a class="iref" href="#rfc.iref.g.27"><b>5.6</b></a></li> 1496 <li class="indline1"><tt>Content-Location</tt> <a class="iref" href="#rfc.iref.g.28"><b>5.7</b></a></li> 1497 <li class="indline1"><tt>Content-MD5</tt> <a class="iref" href="#rfc.iref.g.29"><b>5.8</b></a></li> 1498 <li class="indline1"><tt>Content-Type</tt> <a class="iref" href="#rfc.iref.g.31"><b>5.9</b></a></li> 1499 <li class="indline1"><tt>disp-extension-parm</tt> <a class="iref" href="#rfc.iref.g.38"><b>B.1</b></a></li> 1500 <li class="indline1"><tt>disp-extension-token</tt> <a class="iref" href="#rfc.iref.g.37"><b>B.1</b></a></li> 1501 <li class="indline1"><tt>disposition-parm</tt> <a class="iref" href="#rfc.iref.g.35"><b>B.1</b></a></li> 1502 <li class="indline1"><tt>disposition-type</tt> <a class="iref" href="#rfc.iref.g.34"><b>B.1</b></a></li> 1503 <li class="indline1"><tt>entity-body</tt> <a class="iref" href="#rfc.iref.g.16"><b>3.2</b></a></li> 1504 <li class="indline1"><tt>entity-header</tt> <a class="iref" href="#rfc.iref.g.14"><b>3.1</b></a></li> 1505 <li class="indline1"><tt>extension-header</tt> <a class="iref" href="#rfc.iref.g.15"><b>3.1</b></a></li> 1506 <li class="indline1"><tt>filename-parm</tt> <a class="iref" href="#rfc.iref.g.36"><b>B.1</b></a></li> 1507 <li class="indline1"><tt>language-range</tt> <a class="iref" href="#rfc.iref.g.25"><b>5.4</b></a></li> 1508 <li class="indline1"><tt>language-tag</tt> <a class="iref" href="#rfc.iref.g.11"><b>2.5</b></a></li> 1509 <li class="indline1"><tt>md5-digest</tt> <a class="iref" href="#rfc.iref.g.30"><b>5.8</b></a></li> 1510 <li class="indline1"><tt>media-range</tt> <a class="iref" href="#rfc.iref.g.18"><b>5.1</b></a></li> 1511 <li class="indline1"><tt>media-type</tt> <a class="iref" href="#rfc.iref.g.4"><b>2.3</b></a></li> 1512 <li class="indline1"><tt>MIME-Version</tt> <a class="iref" href="#rfc.iref.g.32"><b>A.1</b></a></li> 1513 <li class="indline1"><tt>parameter</tt> <a class="iref" href="#rfc.iref.g.7"><b>2.3</b></a></li> 1514 <li class="indline1"><tt>primary-tag</tt> <a class="iref" href="#rfc.iref.g.12"><b>2.5</b></a></li> 1515 <li class="indline1"><tt>qvalue</tt> <a class="iref" href="#rfc.iref.g.10"><b>2.4</b></a></li> 1516 <li class="indline1"><tt>subtag</tt> <a class="iref" href="#rfc.iref.g.13"><b>2.5</b></a></li> 1517 <li class="indline1"><tt>subtype</tt> <a class="iref" href="#rfc.iref.g.6"><b>2.3</b></a></li> 1518 <li class="indline1"><tt>type</tt> <a class="iref" href="#rfc.iref.g.5"><b>2.3</b></a></li> 1519 <li class="indline1"><tt>value</tt> <a class="iref" href="#rfc.iref.g.9"><b>2.3</b></a></li> 1520 </ul> 1521 </li> 1522 <li class="indline1">gzip <a class="iref" href="#rfc.iref.g.3">2.2</a></li> 1523 </ul> 1524 </li> 1525 <li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind"> 1526 <li class="indline1">Headers 1527 <ul class="ind"> 1528 <li class="indline1">Accept <a class="iref" href="#rfc.xref.header.accept.1">2.3</a>, <a class="iref" href="#rfc.xref.header.accept.2">4.1</a>, <a class="iref" href="#rfc.iref.h.1"><b>5.1</b></a></li> 1529 <li class="indline1">Accept-Charset <a class="iref" href="#rfc.xref.header.accept-charset.1">4.1</a>, <a class="iref" href="#rfc.iref.h.2"><b>5.2</b></a>, <a class="iref" href="#rfc.xref.header.accept-charset.2">C</a></li> 1530 <li class="indline1">Accept-Encoding <a class="iref" href="#rfc.xref.header.accept-encoding.1">2.2</a>, <a class="iref" href="#rfc.xref.header.accept-encoding.2">4.1</a>, <a class="iref" href="#rfc.iref.h.3"><b>5.3</b></a></li> 1531 <li class="indline1">Accept-Language <a class="iref" href="#rfc.xref.header.accept-language.1">4.1</a>, <a class="iref" href="#rfc.iref.h.4"><b>5.4</b></a></li> 1532 <li class="indline1">Alternate <a class="iref" href="#rfc.iref.h.11"><b>C</b></a></li> 1533 <li class="indline1">Content-Base <a class="iref" href="#rfc.iref.h.17"><b>C</b></a></li> 1534 <li class="indline1">Content-Disposition <a class="iref" href="#rfc.xref.content-disposition.1">7.2</a>, <a class="iref" href="#rfc.iref.h.10"><b>B.1</b></a></li> 1535 <li class="indline1">Content-Encoding <a class="iref" href="#rfc.xref.header.content-encoding.1">2.2</a>, <a class="iref" href="#rfc.xref.header.content-encoding.2">3.1</a>, <a class="iref" href="#rfc.iref.h.5"><b>5.5</b></a>, <a class="iref" href="#rfc.xref.header.content-encoding.3">5.5</a></li> 1536 <li class="indline1">Content-Language <a class="iref" href="#rfc.xref.header.content-language.1">3.1</a>, <a class="iref" href="#rfc.iref.h.6"><b>5.6</b></a></li> 1537 <li class="indline1">Content-Location <a class="iref" href="#rfc.xref.header.content-location.1">3.1</a>, <a class="iref" href="#rfc.iref.h.7"><b>5.7</b></a></li> 1538 <li class="indline1">Content-MD5 <a class="iref" href="#rfc.xref.header.content-md5.1">3.1</a>, <a class="iref" href="#rfc.iref.h.8"><b>5.8</b></a></li> 1539 <li class="indline1">Content-Type <a class="iref" href="#rfc.xref.header.content-type.1">2.3</a>, <a class="iref" href="#rfc.xref.header.content-type.2">3.1</a>, <a class="iref" href="#rfc.iref.h.9"><b>5.9</b></a></li> 1540 <li class="indline1">Content-Version <a class="iref" href="#rfc.iref.h.12"><b>C</b></a></li> 1541 <li class="indline1">Derived-From <a class="iref" href="#rfc.iref.h.13"><b>C</b></a></li> 1542 <li class="indline1">Link <a class="iref" href="#rfc.iref.h.14"><b>C</b></a></li> 1543 <li class="indline1">Public <a class="iref" href="#rfc.iref.h.16"><b>C</b></a></li> 1544 <li class="indline1">URI <a class="iref" href="#rfc.iref.h.15"><b>C</b></a></li> 1545 </ul> 1546 </li> 1547 </ul> 1548 </li> 1549 <li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind"> 1550 <li class="indline1">identity <a class="iref" href="#rfc.iref.i.1">2.2</a></li> 1551 </ul> 1552 </li> 1553 <li class="indline0"><a id="rfc.index.L" href="#rfc.index.L"><b>L</b></a><ul class="ind"> 1554 <li class="indline1">Link header <a class="iref" href="#rfc.iref.l.1"><b>C</b></a></li> 1555 </ul> 1556 </li> 1557 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 1558 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">3.1</a>, <a class="iref" href="#rfc.xref.Part1.2">3.2</a>, <a class="iref" href="#rfc.xref.Part1.3">3.2.2</a>, <a class="iref" href="#Part1"><b>9</b></a>, <a class="iref" href="#rfc.xref.Part1.4">A.5</a><ul class="ind"> 1559 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1.2">3.2</a></li> 1560 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.3">3.2.2</a></li> 1561 <li class="indline1"><em>Section 8.2</em> <a class="iref" href="#rfc.xref.Part1.1">3.1</a></li> 1562 <li class="indline1"><em>Section 8.7</em> <a class="iref" href="#rfc.xref.Part1.4">A.5</a></li> 1563 </ul> 1564 </li> 1565 <li class="indline1"><em>Part2</em> <a class="iref" href="#rfc.xref.Part2.1">3.1</a>, <a class="iref" href="#rfc.xref.Part2.2">4.1</a>, <a class="iref" href="#Part2"><b>9</b></a><ul class="ind"> 1566 <li class="indline1"><em>Section 10.1</em> <a class="iref" href="#rfc.xref.Part2.1">3.1</a></li> 1567 <li class="indline1"><em>Section 10.9</em> <a class="iref" href="#rfc.xref.Part2.2">4.1</a></li> 1568 </ul> 1569 </li> 1570 <li class="indline1"><em>Part4</em> <a class="iref" href="#rfc.xref.Part4.1">3.1</a>, <a class="iref" href="#Part4"><b>9</b></a><ul class="ind"> 1571 <li class="indline1"><em>Section 6.6</em> <a class="iref" href="#rfc.xref.Part4.1">3.1</a></li> 1572 </ul> 1573 </li> 1574 <li class="indline1"><em>Part5</em> <a class="iref" href="#rfc.xref.Part5.1">2.3.2</a>, <a class="iref" href="#rfc.xref.Part5.2">3.1</a>, <a class="iref" href="#Part5"><b>9</b></a><ul class="ind"> 1575 <li class="indline1"><em>Section 5.2</em> <a class="iref" href="#rfc.xref.Part5.2">3.1</a></li> 1576 <li class="indline1"><em>Section A</em> <a class="iref" href="#rfc.xref.Part5.1">2.3.2</a></li> 1577 </ul> 1578 </li> 1579 <li class="indline1"><em>Part6</em> <a class="iref" href="#rfc.xref.Part6.1">3.1</a>, <a class="iref" href="#rfc.xref.Part6.2">4.1</a>, <a class="iref" href="#rfc.xref.Part6.3">5.7</a>, <a class="iref" href="#Part6"><b>9</b></a><ul class="ind"> 1580 <li class="indline1"><em>Section 3.3</em> <a class="iref" href="#rfc.xref.Part6.1">3.1</a></li> 1581 </ul> 1582 </li> 1583 <li class="indline1">Public header <a class="iref" href="#rfc.iref.p.1"><b>C</b></a></li> 1584 </ul> 1585 </li> 1586 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"> 1587 <li class="indline1"><em>RFC1766</em> <a class="iref" href="#rfc.xref.RFC1766.1">2.5</a>, <a class="iref" href="#RFC1766"><b>9</b></a></li> 1588 <li class="indline1"><em>RFC1806</em> <a class="iref" href="#rfc.xref.RFC1806.1">7.2</a>, <a class="iref" href="#RFC1806"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC1806.2">B.1</a></li> 1589 <li class="indline1"><em>RFC1864</em> <a class="iref" href="#rfc.xref.RFC1864.1">5.8</a>, <a class="iref" href="#RFC1864"><b>9</b></a></li> 1590 <li class="indline1"><em>RFC1867</em> <a class="iref" href="#rfc.xref.RFC1867.1">2.3.2</a>, <a class="iref" href="#RFC1867"><b>9</b></a></li> 1591 <li class="indline1"><em>RFC1950</em> <a class="iref" href="#rfc.xref.RFC1950.1">2.2</a>, <a class="iref" href="#RFC1950"><b>9</b></a></li> 1592 <li class="indline1"><em>RFC1951</em> <a class="iref" href="#rfc.xref.RFC1951.1">2.2</a>, <a class="iref" href="#RFC1951"><b>9</b></a></li> 1593 <li class="indline1"><em>RFC1952</em> <a class="iref" href="#rfc.xref.RFC1952.1">2.2</a>, <a class="iref" href="#RFC1952"><b>9</b></a></li> 1594 <li class="indline1"><em>RFC2045</em> <a class="iref" href="#RFC2045"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC2045.1">A</a>, <a class="iref" href="#rfc.xref.RFC2045.2">A.1</a>, <a class="iref" href="#rfc.xref.RFC2045.3">A.2</a></li> 1595 <li class="indline1"><em>RFC2046</em> <a class="iref" href="#rfc.xref.RFC2046.1">2.3.2</a>, <a class="iref" href="#rfc.xref.RFC2046.2">2.3.2</a>, <a class="iref" href="#RFC2046"><b>9</b></a><ul class="ind"> 1596 <li class="indline1"><em>Section 5.1.1</em> <a class="iref" href="#rfc.xref.RFC2046.1">2.3.2</a></li> 1597 </ul> 1598 </li> 1599 <li class="indline1"><em>RFC2049</em> <a class="iref" href="#RFC2049"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC2049.1">A.2</a>, <a class="iref" href="#rfc.xref.RFC2049.2">A.2</a><ul class="ind"> 1600 <li class="indline1"><em>Section 4</em> <a class="iref" href="#rfc.xref.RFC2049.1">A.2</a></li> 1601 </ul> 1602 </li> 1603 <li class="indline1"><em>RFC2068</em> <a class="iref" href="#RFC2068"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC2068.1">C</a></li> 1604 <li class="indline1"><em>RFC2076</em> <a class="iref" href="#RFC2076"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC2076.1">B</a></li> 1605 <li class="indline1"><em>RFC2110</em> <a class="iref" href="#RFC2110"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC2110.1">A.6</a>, <a class="iref" href="#rfc.xref.RFC2110.2">C</a></li> 1606 <li class="indline1"><em>RFC2183</em> <a class="iref" href="#rfc.xref.RFC2183.1">7.2</a>, <a class="iref" href="#RFC2183"><b>9</b></a></li> 1607 <li class="indline1"><em>RFC2277</em> <a class="iref" href="#rfc.xref.RFC2277.1">2.1</a>, <a class="iref" href="#RFC2277"><b>9</b></a></li> 1608 <li class="indline1"><em>RFC2279</em> <a class="iref" href="#rfc.xref.RFC2279.1">2.1</a>, <a class="iref" href="#RFC2279"><b>9</b></a></li> 1609 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">§</a>, <a class="iref" href="#RFC2616"><b>9</b></a></li> 1610 <li class="indline1"><em>RFC4288</em> <a class="iref" href="#rfc.xref.RFC4288.1">2.3</a>, <a class="iref" href="#rfc.xref.RFC4288.2">2.3</a>, <a class="iref" href="#RFC4288"><b>9</b></a></li> 1611 <li class="indline1"><em>RFC822</em> <a class="iref" href="#RFC822"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC822.1">A</a></li> 1612 </ul> 1613 </li> 1614 <li class="indline0"><a id="rfc.index.U" href="#rfc.index.U"><b>U</b></a><ul class="ind"> 1615 <li class="indline1">URI header <a class="iref" href="#rfc.iref.u.1"><b>C</b></a></li> 1616 </ul> 1617 </li> 1618 </ul> 1619 </div> 1620 </body> 1621 </html> 965
Note: See TracChangeset
for help on using the changeset viewer.