Changeset 96
- Timestamp:
- 22/12/07 19:14:28 (13 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.html
r95 r96 634 634 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="intro.requirements" href="#intro.requirements">Requirements</a></h2> 635 635 <p id="rfc.section.1.2.p.1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" 636 in this document are to be interpreted as described in RFC 2119<a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.636 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>. 637 637 </p> 638 638 <p id="rfc.section.1.2.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." … … 987 987 the proxy/gateway <em class="bcp14">MUST</em> either downgrade the request version, or respond with an error, or switch to tunnel behavior. 988 988 </p> 989 <p id="rfc.section.3.1.p.8">Due to interoperability problems with HTTP/1.0 proxies discovered since the publication of RFC 2068 <a href="#RFC2068" id="rfc.xref.RFC2068.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2068]</cite></a>, caching proxies MUST, gateways <em class="bcp14">MAY</em>, and tunnels <em class="bcp14">MUST NOT</em> upgrade the request to the highest version they support. The proxy/gateway's response to that request <em class="bcp14">MUST</em> be in the same major version as the request.989 <p id="rfc.section.3.1.p.8">Due to interoperability problems with HTTP/1.0 proxies discovered since the publication of RFC 2068 <a href="#RFC2068" id="rfc.xref.RFC2068.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2068]</cite></a>, caching proxies <em class="bcp14">MUST</em>, gateways <em class="bcp14">MAY</em>, and tunnels <em class="bcp14">MUST NOT</em> upgrade the request to the highest version they support. The proxy/gateway's response to that request <em class="bcp14">MUST</em> be in the same major version as the request. 990 990 </p> 991 991 <p id="rfc.section.3.1.p.9"> </p> … … 1610 1610 <p id="rfc.section.8.1.p.10">An HTTP/1.1 server that does not support persistent connections <em class="bcp14">MUST</em> include the "close" connection option in every response message that does not have a 1xx (informational) status code. 1611 1611 </p> 1612 <p id="rfc.section.8.1.p.11">A system receiving an HTTP/1.0 (or lower-version) message that includes a Connection header MUST, for each connection-token 1613 in this field, remove and ignore any header field(s) from the message with the same name as the connection-token. This protects 1614 against mistaken forwarding of such header fields by pre-HTTP/1.1 proxies. See <a href="#compatibility.with.http.1.0.persistent.connections" title="Compatibility with HTTP/1.0 Persistent Connections">Appendix D.2</a>. 1612 <p id="rfc.section.8.1.p.11">A system receiving an HTTP/1.0 (or lower-version) message that includes a Connection header <em class="bcp14">MUST</em>, for each connection-token in this field, remove and ignore any header field(s) from the message with the same name as the 1613 connection-token. This protects against mistaken forwarding of such header fields by pre-HTTP/1.1 proxies. See <a href="#compatibility.with.http.1.0.persistent.connections" title="Compatibility with HTTP/1.0 Persistent Connections">Appendix D.2</a>. 1615 1614 </p> 1616 1615 <div id="rfc.iref.c.7"></div> -
draft-ietf-httpbis/latest/p1-messaging.xml
r95 r96 283 283 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 284 284 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 285 document are to be interpreted as described in RFC 2119<xref target="RFC2119"/>.285 document are to be interpreted as described in <xref target="RFC2119"/>. 286 286 </t> 287 287 <t> … … 983 983 <t> 984 984 Due to interoperability problems with HTTP/1.0 proxies discovered 985 since the publication of RFC 2068 <xref target="RFC2068"/>, caching proxies MUST, gateways985 since the publication of RFC 2068 <xref target="RFC2068"/>, caching proxies &MUST;, gateways 986 986 &MAY;, and tunnels &MUST-NOT; upgrade the request to the highest version 987 987 they support. The proxy/gateway's response to that request &MUST; be in … … 2252 2252 <t> 2253 2253 A system receiving an HTTP/1.0 (or lower-version) message that 2254 includes a Connection header MUST, for each connection-token in this2254 includes a Connection header &MUST;, for each connection-token in this 2255 2255 field, remove and ignore any header field(s) from the message with 2256 2256 the same name as the connection-token. This protects against mistaken … … 3713 3713 3714 3714 <reference anchor="RFC2119"> 3715 <front> 3716 <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title> 3717 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 3718 <organization>Harvard University</organization> 3719 <address> 3720 <postal> 3721 <street>1350 Mass. Ave.</street> 3722 <street>Cambridge</street> 3723 <street>MA 02138</street></postal> 3724 <phone>- +1 617 495 3864</phone> 3725 <email>-</email></address></author> 3726 <date month="March" year="1997"/> 3727 <area>General</area> 3728 <keyword>keyword</keyword> 3729 </front> 3730 3731 <seriesInfo name="BCP" value="14"/> 3732 <seriesInfo name="RFC" value="2119"/> 3715 <front> 3716 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 3717 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 3718 <organization>Harvard University</organization> 3719 <address><email>sob@harvard.edu</email></address> 3720 </author> 3721 <date month="March" year="1997"/> 3722 </front> 3723 <seriesInfo name="BCP" value="14"/> 3724 <seriesInfo name="RFC" value="2119"/> 3733 3725 </reference> 3734 3726 -
draft-ietf-httpbis/latest/p2-semantics.html
r95 r96 489 489 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 490 490 <ul class="toc"> 491 <li class="tocline0">1. <a href="#introduction">Introduction</a></li> 491 <li class="tocline0">1. <a href="#introduction">Introduction</a><ul class="toc"> 492 <li class="tocline1">1.1 <a href="#intro.requirements">Requirements</a></li> 493 </ul> 494 </li> 492 495 <li class="tocline0">2. <a href="#product.tokens">Product Tokens</a></li> 493 496 <li class="tocline0">3. <a href="#method">Method</a></li> … … 607 610 entity-body content. The relationship between HTTP and MIME is described in <a href="p3-payload.html#differences.between.http.entities.and.rfc.2045.entities" title="Differences Between HTTP Entities and RFC 2045 Entities">Appendix A</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 608 611 </p> 612 <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> 613 <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" 614 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>. 615 </p> 616 <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." 617 </p> 609 618 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="product.tokens" href="#product.tokens">Product Tokens</a></h1> 610 619 <p id="rfc.section.2.p.1">Product tokens are used to allow communicating applications to identify themselves by software name and version. Most fields … … 1066 1075 <p id="rfc.section.9.3.2.p.2">The new permanent URI <em class="bcp14">SHOULD</em> be given by the Location field in the response. Unless the request method was HEAD, the entity of the response <em class="bcp14">SHOULD</em> contain a short hypertext note with a hyperlink to the new URI(s). 1067 1076 </p> 1068 <p id="rfc.section.9.3.2.p.3">If the 301 status code is received in response to a request method that is known to be "safe", as defined in <a href="#safe.methods" title="Safe Methods">Section 8.1.1</a>, then the request MAYbe automatically redirected by the user agent without confirmation. Otherwise, the user agent <em class="bcp14">MUST NOT</em> automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which1077 <p id="rfc.section.9.3.2.p.3">If the 301 status code is received in response to a request method that is known to be "safe", as defined in <a href="#safe.methods" title="Safe Methods">Section 8.1.1</a>, then the request <em class="bcp14">MAY</em> be automatically redirected by the user agent without confirmation. Otherwise, the user agent <em class="bcp14">MUST NOT</em> automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which 1069 1078 the request was issued. 1070 1079 </p> … … 1083 1092 <p id="rfc.section.9.3.3.p.2">The temporary URI <em class="bcp14">SHOULD</em> be given by the Location field in the response. Unless the request method was HEAD, the entity of the response <em class="bcp14">SHOULD</em> contain a short hypertext note with a hyperlink to the new URI(s). 1084 1093 </p> 1085 <p id="rfc.section.9.3.3.p.3">If the 302 status code is received in response to a request method that is known to be "safe", as defined in <a href="#safe.methods" title="Safe Methods">Section 8.1.1</a>, then the request MAYbe automatically redirected by the user agent without confirmation. Otherwise, the user agent <em class="bcp14">MUST NOT</em> automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which1094 <p id="rfc.section.9.3.3.p.3">If the 302 status code is received in response to a request method that is known to be "safe", as defined in <a href="#safe.methods" title="Safe Methods">Section 8.1.1</a>, then the request <em class="bcp14">MAY</em> be automatically redirected by the user agent without confirmation. Otherwise, the user agent <em class="bcp14">MUST NOT</em> automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which 1086 1095 the request was issued. 1087 1096 </p> … … 1137 1146 the 307 status. Therefore, the note <em class="bcp14">SHOULD</em> contain the information necessary for a user to repeat the original request on the new URI. 1138 1147 </p> 1139 <p id="rfc.section.9.3.8.p.3">If the 307 status code is received in response to a request method that is known to be "safe", as defined in <a href="#safe.methods" title="Safe Methods">Section 8.1.1</a>, then the request MAYbe automatically redirected by the user agent without confirmation. Otherwise, the user agent <em class="bcp14">MUST NOT</em> automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which1148 <p id="rfc.section.9.3.8.p.3">If the 307 status code is received in response to a request method that is known to be "safe", as defined in <a href="#safe.methods" title="Safe Methods">Section 8.1.1</a>, then the request <em class="bcp14">MAY</em> be automatically redirected by the user agent without confirmation. Otherwise, the user agent <em class="bcp14">MUST NOT</em> automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which 1140 1149 the request was issued. 1141 1150 </p> … … 1535 1544 <h1 id="rfc.references"><a href="#rfc.section.14" id="rfc.section.14">14.</a> References 1536 1545 </h1> 1537 <table summary="References"> 1546 <table summary="References"> 1538 1547 <tr> 1539 1548 <td class="reference"><b id="Luo1998">[Luo1998]</b></td> … … 1578 1587 <td class="reference"><b id="RFC2068">[RFC2068]</b></td> 1579 1588 <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. 1589 </td> 1590 </tr> 1591 <tr> 1592 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1593 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1580 1594 </td> 1581 1595 </tr> … … 1874 1888 <li class="indline1"><em>RFC1123</em> <a class="iref" href="#rfc.xref.RFC1123.1">10.3</a>, <a class="iref" href="#RFC1123"><b>14</b></a></li> 1875 1889 <li class="indline1"><em>RFC2068</em> <a class="iref" href="#RFC2068"><b>14</b></a>, <a class="iref" href="#rfc.xref.RFC2068.1">A</a></li> 1890 <li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">1.1</a>, <a class="iref" href="#RFC2119"><b>14</b></a></li> 1876 1891 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">§</a>, <a class="iref" href="#RFC2616"><b>14</b></a></li> 1877 1892 <li class="indline1"><em>RFC822</em> <a class="iref" href="#rfc.xref.RFC822.1">10.3</a>, <a class="iref" href="#RFC822"><b>14</b></a></li> -
draft-ietf-httpbis/latest/p2-semantics.xml
r95 r96 267 267 between HTTP and MIME is described in &diff2045entity;. 268 268 </t> 269 270 <section title="Requirements" anchor="intro.requirements"> 271 <t> 272 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 273 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 274 document are to be interpreted as described in <xref target="RFC2119"/>. 275 </t> 276 <t> 277 An implementation is not compliant if it fails to satisfy one or more 278 of the &MUST; or &REQUIRED; level requirements for the protocols it 279 implements. An implementation that satisfies all the &MUST; or &REQUIRED; 280 level and all the &SHOULD; level requirements for its protocols is said 281 to be "unconditionally compliant"; one that satisfies all the &MUST; 282 level requirements but not all the &SHOULD; level requirements for its 283 protocols is said to be "conditionally compliant." 284 </t> 285 </section> 269 286 </section> 270 287 … … 1137 1154 If the 301 status code is received in response to a request method 1138 1155 that is known to be "safe", as defined in <xref target="safe.methods"/>, 1139 then the request MAYbe automatically redirected by the user agent without1156 then the request &MAY; be automatically redirected by the user agent without 1140 1157 confirmation. Otherwise, the user agent &MUST-NOT; automatically redirect the 1141 1158 request unless it can be confirmed by the user, since this might … … 1168 1185 If the 302 status code is received in response to a request method 1169 1186 that is known to be "safe", as defined in <xref target="safe.methods"/>, 1170 then the request MAYbe automatically redirected by the user agent without1187 then the request &MAY; be automatically redirected by the user agent without 1171 1188 confirmation. Otherwise, the user agent &MUST-NOT; automatically redirect the 1172 1189 request unless it can be confirmed by the user, since this might … … 1266 1283 If the 307 status code is received in response to a request method 1267 1284 that is known to be "safe", as defined in <xref target="safe.methods"/>, 1268 then the request MAYbe automatically redirected by the user agent without1285 then the request &MAY; be automatically redirected by the user agent without 1269 1286 confirmation. Otherwise, the user agent &MUST-NOT; automatically redirect the 1270 1287 request unless it can be confirmed by the user, since this might … … 2480 2497 </reference> 2481 2498 2499 <reference anchor="RFC2119"> 2500 <front> 2501 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 2502 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 2503 <organization>Harvard University</organization> 2504 <address><email>sob@harvard.edu</email></address> 2505 </author> 2506 <date month="March" year="1997"/> 2507 </front> 2508 <seriesInfo name="BCP" value="14"/> 2509 <seriesInfo name="RFC" value="2119"/> 2510 </reference> 2511 2482 2512 <reference anchor="Luo1998"> 2483 2513 <front> -
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 -
draft-ietf-httpbis/latest/p3-payload.xml
r95 r96 224 224 relevant sections of RFC 2616 without edit. 225 225 </t> 226 227 <section title="Requirements" anchor="intro.requirements"> 228 <t> 229 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 230 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 231 document are to be interpreted as described in <xref target="RFC2119"/>. 232 </t> 233 <t> 234 An implementation is not compliant if it fails to satisfy one or more 235 of the &MUST; or &REQUIRED; level requirements for the protocols it 236 implements. An implementation that satisfies all the &MUST; or &REQUIRED; 237 level and all the &SHOULD; level requirements for its protocols is said 238 to be "unconditionally compliant"; one that satisfies all the &MUST; 239 level requirements but not all the &SHOULD; level requirements for its 240 protocols is said to be "conditionally compliant." 241 </t> 242 </section> 226 243 </section> 227 244 … … 2068 2085 </reference> 2069 2086 2087 <reference anchor="RFC2119"> 2088 <front> 2089 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 2090 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 2091 <organization>Harvard University</organization> 2092 <address><email>sob@harvard.edu</email></address> 2093 </author> 2094 <date month="March" year="1997"/> 2095 </front> 2096 <seriesInfo name="BCP" value="14"/> 2097 <seriesInfo name="RFC" value="2119"/> 2098 </reference> 2099 2070 2100 <reference anchor="RFC2279"> 2071 2101 <front> -
draft-ietf-httpbis/latest/p4-conditional.html
r95 r96 483 483 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 484 484 <ul class="toc"> 485 <li class="tocline0">1. <a href="#introduction">Introduction</a></li> 485 <li class="tocline0">1. <a href="#introduction">Introduction</a><ul class="toc"> 486 <li class="tocline1">1.1 <a href="#intro.requirements">Requirements</a></li> 487 </ul> 488 </li> 486 489 <li class="tocline0">2. <a href="#entity.tags">Entity Tags</a></li> 487 490 <li class="tocline0">3. <a href="#rfc.section.3">Status Code Definitions</a><ul class="toc"> … … 512 515 <p id="rfc.section.1.p.1">This document will define aspects of HTTP related to conditional request messages based on time stamps and entity-tags. Right 513 516 now it only includes the extracted relevant sections of <a href="#RFC2616">RFC 2616</a> <cite title="Hypertext Transfer Protocol -- HTTP/1.1" id="rfc.xref.RFC2616.2">[RFC2616]</cite> without edit. 517 </p> 518 <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> 519 <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" 520 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>. 521 </p> 522 <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." 514 523 </p> 515 524 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="entity.tags" href="#entity.tags">Entity Tags</a></h1> … … 879 888 <h1 id="rfc.references"><a href="#rfc.section.10" id="rfc.section.10">10.</a> References 880 889 </h1> 881 <table summary="References"> 890 <table summary="References"> 882 891 <tr> 883 892 <td class="reference"><b id="Part1">[Part1]</b></td> … … 898 907 <td class="reference"><b id="RFC2068">[RFC2068]</b></td> 899 908 <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. 909 </td> 910 </tr> 911 <tr> 912 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 913 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 900 914 </td> 901 915 </tr> … … 1027 1041 </ul> 1028 1042 </li> 1043 <li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">1.1</a>, <a class="iref" href="#RFC2119"><b>10</b></a></li> 1029 1044 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">§</a>, <a class="iref" href="#rfc.xref.RFC2616.2">1</a>, <a class="iref" href="#RFC2616"><b>10</b></a></li> 1030 1045 </ul> -
draft-ietf-httpbis/latest/p4-conditional.xml
r95 r96 220 220 without edit. 221 221 </t> 222 223 <section title="Requirements" anchor="intro.requirements"> 224 <t> 225 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 226 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 227 document are to be interpreted as described in <xref target="RFC2119"/>. 228 </t> 229 <t> 230 An implementation is not compliant if it fails to satisfy one or more 231 of the &MUST; or &REQUIRED; level requirements for the protocols it 232 implements. An implementation that satisfies all the &MUST; or &REQUIRED; 233 level and all the &SHOULD; level requirements for its protocols is said 234 to be "unconditionally compliant"; one that satisfies all the &MUST; 235 level requirements but not all the &SHOULD; level requirements for its 236 protocols is said to be "conditionally compliant." 237 </t> 238 </section> 222 239 </section> 223 240 … … 1097 1114 </front> 1098 1115 <seriesInfo name="RFC" value="2616"/> 1116 </reference> 1117 1118 <reference anchor="RFC2119"> 1119 <front> 1120 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 1121 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 1122 <organization>Harvard University</organization> 1123 <address><email>sob@harvard.edu</email></address> 1124 </author> 1125 <date month="March" year="1997"/> 1126 </front> 1127 <seriesInfo name="BCP" value="14"/> 1128 <seriesInfo name="RFC" value="2119"/> 1099 1129 </reference> 1100 1130 -
draft-ietf-httpbis/latest/p5-range.html
r95 r96 484 484 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 485 485 <ul class="toc"> 486 <li class="tocline0">1. <a href="#introduction">Introduction</a></li> 486 <li class="tocline0">1. <a href="#introduction">Introduction</a><ul class="toc"> 487 <li class="tocline1">1.1 <a href="#intro.requirements">Requirements</a></li> 488 </ul> 489 </li> 487 490 <li class="tocline0">2. <a href="#range.units">Range Units</a></li> 488 491 <li class="tocline0">3. <a href="#rfc.section.3">Status Code Definitions</a><ul class="toc"> … … 517 520 type. Right now it only includes the extracted relevant sections of <a href="#RFC2616">RFC 2616</a> <cite title="Hypertext Transfer Protocol -- HTTP/1.1" id="rfc.xref.RFC2616.2">[RFC2616]</cite> without edit. 518 521 </p> 522 <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> 523 <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" 524 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>. 525 </p> 526 <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." 527 </p> 519 528 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="range.units" href="#range.units">Range Units</a></h1> 520 529 <p id="rfc.section.2.p.1">HTTP/1.1 allows a client to request that only part (a range of) the response entity be included within the response. HTTP/1.1 … … 768 777 <h1 id="rfc.references"><a href="#rfc.section.9" id="rfc.section.9">9.</a> References 769 778 </h1> 770 <table summary="References"> 779 <table summary="References"> 771 780 <tr> 772 781 <td class="reference"><b id="Part1">[Part1]</b></td> … … 782 791 <td class="reference"><b id="RFC2046">[RFC2046]</b></td> 783 792 <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. 793 </td> 794 </tr> 795 <tr> 796 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 797 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 784 798 </td> 785 799 </tr> … … 979 993 <li class="indline1">Range header <a class="iref" href="#rfc.xref.header.range.1">2</a>, <a class="iref" href="#rfc.xref.header.range.2">3.1</a>, <a class="iref" href="#rfc.xref.header.range.3">3.2</a>, <a class="iref" href="#rfc.iref.r.1"><b>5.4</b></a></li> 980 994 <li class="indline1"><em>RFC2046</em> <a class="iref" href="#RFC2046"><b>9</b></a>, <a class="iref" href="#rfc.xref.RFC2046.1">A</a></li> 995 <li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">1.1</a>, <a class="iref" href="#RFC2119"><b>9</b></a></li> 981 996 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">§</a>, <a class="iref" href="#rfc.xref.RFC2616.2">1</a>, <a class="iref" href="#RFC2616"><b>9</b></a></li> 982 997 </ul> -
draft-ietf-httpbis/latest/p5-range.xml
r95 r96 215 215 <xref target="RFC2616">RFC 2616</xref> without edit. 216 216 </t> 217 218 <section title="Requirements" anchor="intro.requirements"> 219 <t> 220 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 221 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 222 document are to be interpreted as described in <xref target="RFC2119"/>. 223 </t> 224 <t> 225 An implementation is not compliant if it fails to satisfy one or more 226 of the &MUST; or &REQUIRED; level requirements for the protocols it 227 implements. An implementation that satisfies all the &MUST; or &REQUIRED; 228 level and all the &SHOULD; level requirements for its protocols is said 229 to be "unconditionally compliant"; one that satisfies all the &MUST; 230 level requirements but not all the &SHOULD; level requirements for its 231 protocols is said to be "conditionally compliant." 232 </t> 233 </section> 217 234 </section> 218 235 … … 890 907 </reference> 891 908 909 <reference anchor="RFC2119"> 910 <front> 911 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 912 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 913 <organization>Harvard University</organization> 914 <address><email>sob@harvard.edu</email></address> 915 </author> 916 <date month="March" year="1997"/> 917 </front> 918 <seriesInfo name="BCP" value="14"/> 919 <seriesInfo name="RFC" value="2119"/> 920 </reference> 921 892 922 </references> 893 923 -
draft-ietf-httpbis/latest/p6-cache.html
r95 r96 483 483 <ul class="toc"> 484 484 <li class="tocline0">1. <a href="#introduction">Introduction</a><ul class="toc"> 485 <li class="tocline1">1.1 <a href="#intro.terminology">Terminology</a></li> 486 <li class="tocline1">1.2 <a href="#delta.seconds">Delta Seconds</a></li> 485 <li class="tocline1">1.1 <a href="#intro.requirements">Requirements</a></li> 486 <li class="tocline1">1.2 <a href="#intro.terminology">Terminology</a></li> 487 <li class="tocline1">1.3 <a href="#delta.seconds">Delta Seconds</a></li> 487 488 </ul> 488 489 </li> … … 559 560 sections of <a href="#RFC2616">RFC 2616</a> <cite title="Hypertext Transfer Protocol -- HTTP/1.1" id="rfc.xref.RFC2616.2">[RFC2616]</cite> without edit. 560 561 </p> 561 <h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> <a id="intro.terminology" href="#intro.terminology">Terminology</a></h2> 562 <p id="rfc.section.1.1.p.1">This specification uses a number of terms to refer to the roles played by participants in, and objects of, the HTTP communication.</p> 563 <p id="rfc.section.1.1.p.2"> <span id="rfc.iref.c.1"></span> <dfn>cache</dfn> 562 <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> 563 <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" 564 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>. 565 </p> 566 <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." 567 </p> 568 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="intro.terminology" href="#intro.terminology">Terminology</a></h2> 569 <p id="rfc.section.1.2.p.1">This specification uses a number of terms to refer to the roles played by participants in, and objects of, the HTTP communication.</p> 570 <p id="rfc.section.1.2.p.2"> <span id="rfc.iref.c.1"></span> <dfn>cache</dfn> 564 571 </p> 565 572 <dl class="empty"> … … 569 576 </dd> 570 577 </dl> 571 <p id="rfc.section.1. 1.p.3"> <span id="rfc.iref.c.2"></span> <dfn>cacheable</dfn>578 <p id="rfc.section.1.2.p.3"> <span id="rfc.iref.c.2"></span> <dfn>cacheable</dfn> 572 579 </p> 573 580 <dl class="empty"> … … 577 584 </dd> 578 585 </dl> 579 <p id="rfc.section.1. 1.p.4"> <span id="rfc.iref.f.1"></span> <dfn>first-hand</dfn>586 <p id="rfc.section.1.2.p.4"> <span id="rfc.iref.f.1"></span> <dfn>first-hand</dfn> 580 587 </p> 581 588 <dl class="empty"> … … 584 591 </dd> 585 592 </dl> 586 <p id="rfc.section.1. 1.p.5"> <span id="rfc.iref.e.1"></span> <dfn>explicit expiration time</dfn>593 <p id="rfc.section.1.2.p.5"> <span id="rfc.iref.e.1"></span> <dfn>explicit expiration time</dfn> 587 594 </p> 588 595 <dl class="empty"> 589 596 <dd>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</dd> 590 597 </dl> 591 <p id="rfc.section.1. 1.p.6"> <span id="rfc.iref.h.1"></span> <dfn>heuristic expiration time</dfn>598 <p id="rfc.section.1.2.p.6"> <span id="rfc.iref.h.1"></span> <dfn>heuristic expiration time</dfn> 592 599 </p> 593 600 <dl class="empty"> 594 601 <dd>An expiration time assigned by a cache when no explicit expiration time is available.</dd> 595 602 </dl> 596 <p id="rfc.section.1. 1.p.7"> <span id="rfc.iref.a.1"></span> <dfn>age</dfn>603 <p id="rfc.section.1.2.p.7"> <span id="rfc.iref.a.1"></span> <dfn>age</dfn> 597 604 </p> 598 605 <dl class="empty"> 599 606 <dd>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</dd> 600 607 </dl> 601 <p id="rfc.section.1. 1.p.8"> <span id="rfc.iref.f.2"></span> <dfn>freshness lifetime</dfn>608 <p id="rfc.section.1.2.p.8"> <span id="rfc.iref.f.2"></span> <dfn>freshness lifetime</dfn> 602 609 </p> 603 610 <dl class="empty"> 604 611 <dd>The length of time between the generation of a response and its expiration time.</dd> 605 612 </dl> 606 <p id="rfc.section.1. 1.p.9"> <span id="rfc.iref.f.3"></span> <dfn>fresh</dfn>613 <p id="rfc.section.1.2.p.9"> <span id="rfc.iref.f.3"></span> <dfn>fresh</dfn> 607 614 </p> 608 615 <dl class="empty"> 609 616 <dd>A response is fresh if its age has not yet exceeded its freshness lifetime.</dd> 610 617 </dl> 611 <p id="rfc.section.1. 1.p.10"> <span id="rfc.iref.s.1"></span> <dfn>stale</dfn>618 <p id="rfc.section.1.2.p.10"> <span id="rfc.iref.s.1"></span> <dfn>stale</dfn> 612 619 </p> 613 620 <dl class="empty"> 614 621 <dd>A response is stale if its age has passed its freshness lifetime.</dd> 615 622 </dl> 616 <p id="rfc.section.1. 1.p.11"> <span id="rfc.iref.s.2"></span> <dfn>semantically transparent</dfn>623 <p id="rfc.section.1.2.p.11"> <span id="rfc.iref.s.2"></span> <dfn>semantically transparent</dfn> 617 624 </p> 618 625 <dl class="empty"> … … 623 630 </dd> 624 631 </dl> 625 <p id="rfc.section.1. 1.p.12"> <span id="rfc.iref.v.1"></span> <dfn>validator</dfn>632 <p id="rfc.section.1.2.p.12"> <span id="rfc.iref.v.1"></span> <dfn>validator</dfn> 626 633 </p> 627 634 <dl class="empty"> … … 630 637 </dd> 631 638 </dl> 632 <h2 id="rfc.section.1. 2"><a href="#rfc.section.1.2">1.2</a> <a id="delta.seconds" href="#delta.seconds">Delta Seconds</a></h2>633 <p id="rfc.section.1. 2.p.1">Some HTTP header fields allow a time value to be specified as an integer number of seconds, represented in decimal, after639 <h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a> <a id="delta.seconds" href="#delta.seconds">Delta Seconds</a></h2> 640 <p id="rfc.section.1.3.p.1">Some HTTP header fields allow a time value to be specified as an integer number of seconds, represented in decimal, after 634 641 the time that the message was received. 635 642 </p> … … 1716 1723 <h1 id="rfc.references"><a href="#rfc.section.7" id="rfc.section.7">7.</a> References 1717 1724 </h1> 1718 <table summary="References"> 1725 <table summary="References"> 1719 1726 <tr> 1720 1727 <td class="reference"><b id="Part1">[Part1]</b></td> … … 1755 1762 <td class="reference"><b id="RFC2047">[RFC2047]</b></td> 1756 1763 <td class="top"><a title="University of Tennessee">Moore, K.</a>, “<a href="http://tools.ietf.org/html/rfc2047">MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text</a>”, RFC 2047, November 1996. 1764 </td> 1765 </tr> 1766 <tr> 1767 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1768 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1757 1769 </td> 1758 1770 </tr> … … 1819 1831 <ul class="ind"> 1820 1832 <li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind"> 1821 <li class="indline1">age <a class="iref" href="#rfc.iref.a.1">1. 1</a></li>1833 <li class="indline1">age <a class="iref" href="#rfc.iref.a.1">1.2</a></li> 1822 1834 <li class="indline1">Age header <a class="iref" href="#rfc.iref.a.2"><b>3.1</b></a></li> 1823 1835 </ul> 1824 1836 </li> 1825 1837 <li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind"> 1826 <li class="indline1">cache <a class="iref" href="#rfc.iref.c.1">1. 1</a></li>1838 <li class="indline1">cache <a class="iref" href="#rfc.iref.c.1">1.2</a></li> 1827 1839 <li class="indline1">Cache Directives 1828 1840 <ul class="ind"> … … 1842 1854 </li> 1843 1855 <li class="indline1">Cache-Control header <a class="iref" href="#rfc.xref.header.cache-control.1">2.1.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.2">2.1.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.3">2.1.3</a>, <a class="iref" href="#rfc.xref.header.cache-control.4">2.2.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.5">2.2.5</a>, <a class="iref" href="#rfc.xref.header.cache-control.6">2.4</a>, <a class="iref" href="#rfc.xref.header.cache-control.7">2.4</a>, <a class="iref" href="#rfc.xref.header.cache-control.8">2.8</a>, <a class="iref" href="#rfc.iref.c.3"><b>3.2</b></a>, <a class="iref" href="#rfc.xref.header.cache-control.9">3.3</a>, <a class="iref" href="#rfc.xref.header.cache-control.10">3.4</a>, <a class="iref" href="#rfc.xref.header.cache-control.11">A</a></li> 1844 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c.2">1. 1</a></li>1856 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c.2">1.2</a></li> 1845 1857 </ul> 1846 1858 </li> 1847 1859 <li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind"> 1848 1860 <li class="indline1">Expires header <a class="iref" href="#rfc.xref.header.expires.1">2.4</a>, <a class="iref" href="#rfc.xref.header.expires.2">3.2.3</a>, <a class="iref" href="#rfc.iref.e.2"><b>3.3</b></a></li> 1849 <li class="indline1">explicit expiration time <a class="iref" href="#rfc.iref.e.1">1. 1</a></li>1861 <li class="indline1">explicit expiration time <a class="iref" href="#rfc.iref.e.1">1.2</a></li> 1850 1862 </ul> 1851 1863 </li> 1852 1864 <li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind"> 1853 <li class="indline1">first-hand <a class="iref" href="#rfc.iref.f.1">1. 1</a></li>1854 <li class="indline1">fresh <a class="iref" href="#rfc.iref.f.3">1. 1</a></li>1855 <li class="indline1">freshness lifetime <a class="iref" href="#rfc.iref.f.2">1. 1</a></li>1865 <li class="indline1">first-hand <a class="iref" href="#rfc.iref.f.1">1.2</a></li> 1866 <li class="indline1">fresh <a class="iref" href="#rfc.iref.f.3">1.2</a></li> 1867 <li class="indline1">freshness lifetime <a class="iref" href="#rfc.iref.f.2">1.2</a></li> 1856 1868 </ul> 1857 1869 </li> … … 1866 1878 <li class="indline1"><tt>cache-request-directive</tt> <a class="iref" href="#rfc.iref.g.6"><b>3.2</b></a></li> 1867 1879 <li class="indline1"><tt>cache-response-directive</tt> <a class="iref" href="#rfc.iref.g.7"><b>3.2</b></a></li> 1868 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.1"><b>1. 2</b></a></li>1880 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.1"><b>1.3</b></a></li> 1869 1881 <li class="indline1"><tt>Expires</tt> <a class="iref" href="#rfc.iref.g.9"><b>3.3</b></a></li> 1870 1882 <li class="indline1"><tt>extension-pragma</tt> <a class="iref" href="#rfc.iref.g.12"><b>3.4</b></a></li> … … 1893 1905 </ul> 1894 1906 </li> 1895 <li class="indline1">heuristic expiration time <a class="iref" href="#rfc.iref.h.1">1. 1</a></li>1907 <li class="indline1">heuristic expiration time <a class="iref" href="#rfc.iref.h.1">1.2</a></li> 1896 1908 </ul> 1897 1909 </li> … … 1997 2009 <li class="indline1"><em>RFC1305</em> <a class="iref" href="#rfc.xref.RFC1305.1">2.2.3</a>, <a class="iref" href="#RFC1305"><b>7</b></a></li> 1998 2010 <li class="indline1"><em>RFC2047</em> <a class="iref" href="#rfc.xref.RFC2047.1">3.6</a>, <a class="iref" href="#RFC2047"><b>7</b></a></li> 2011 <li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">1.1</a>, <a class="iref" href="#RFC2119"><b>7</b></a></li> 1999 2012 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">§</a>, <a class="iref" href="#rfc.xref.RFC2616.2">1</a>, <a class="iref" href="#RFC2616"><b>7</b></a></li> 2000 2013 </ul> … … 2006 2019 </ul> 2007 2020 </li> 2008 <li class="indline1">semantically transparent <a class="iref" href="#rfc.iref.s.2">1. 1</a></li>2009 <li class="indline1">stale <a class="iref" href="#rfc.iref.s.1">1. 1</a></li>2021 <li class="indline1">semantically transparent <a class="iref" href="#rfc.iref.s.2">1.2</a></li> 2022 <li class="indline1">stale <a class="iref" href="#rfc.iref.s.1">1.2</a></li> 2010 2023 </ul> 2011 2024 </li> 2012 2025 <li class="indline0"><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul class="ind"> 2013 <li class="indline1">validator <a class="iref" href="#rfc.iref.v.1">1. 1</a></li>2026 <li class="indline1">validator <a class="iref" href="#rfc.iref.v.1">1.2</a></li> 2014 2027 <li class="indline1">Vary header <a class="iref" href="#rfc.xref.header.vary.1">2.6</a>, <a class="iref" href="#rfc.iref.v.2"><b>3.5</b></a></li> 2015 2028 </ul> -
draft-ietf-httpbis/latest/p6-cache.xml
r95 r96 227 227 </t> 228 228 229 <section title="Requirements" anchor="intro.requirements"> 230 <t> 231 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 232 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 233 document are to be interpreted as described in <xref target="RFC2119"/>. 234 </t> 235 <t> 236 An implementation is not compliant if it fails to satisfy one or more 237 of the &MUST; or &REQUIRED; level requirements for the protocols it 238 implements. An implementation that satisfies all the &MUST; or &REQUIRED; 239 level and all the &SHOULD; level requirements for its protocols is said 240 to be "unconditionally compliant"; one that satisfies all the &MUST; 241 level requirements but not all the &SHOULD; level requirements for its 242 protocols is said to be "conditionally compliant." 243 </t> 244 </section> 245 229 246 <section title="Terminology" anchor="intro.terminology"> 230 247 <t> … … 2711 2728 </reference> 2712 2729 2730 <reference anchor="RFC2119"> 2731 <front> 2732 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 2733 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 2734 <organization>Harvard University</organization> 2735 <address><email>sob@harvard.edu</email></address> 2736 </author> 2737 <date month="March" year="1997"/> 2738 </front> 2739 <seriesInfo name="BCP" value="14"/> 2740 <seriesInfo name="RFC" value="2119"/> 2741 </reference> 2742 2713 2743 <reference anchor="RFC2616"> 2714 2744 <front> -
draft-ietf-httpbis/latest/p7-auth.html
r95 r96 481 481 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 482 482 <ul class="toc"> 483 <li class="tocline0">1. <a href="#introduction">Introduction</a></li> 483 <li class="tocline0">1. <a href="#introduction">Introduction</a><ul class="toc"> 484 <li class="tocline1">1.1 <a href="#intro.requirements">Requirements</a></li> 485 </ul> 486 </li> 484 487 <li class="tocline0">2. <a href="#rfc.section.2">Status Code Definitions</a><ul class="toc"> 485 488 <li class="tocline1">2.1 <a href="#status.401">401 Unauthorized</a></li> … … 513 516 "digest" authentication, are specified in "HTTP Authentication: Basic and Digest Access Authentication" <a href="#RFC2617" id="rfc.xref.RFC2617.1"><cite title="HTTP Authentication: Basic and Digest Access Authentication">[RFC2617]</cite></a>. This specification adopts the definitions of "challenge" and "credentials" from that specification. 514 517 </p> 518 <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> 519 <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" 520 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>. 521 </p> 522 <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." 523 </p> 515 524 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> Status Code Definitions 516 525 </h1> … … 621 630 <h1 id="rfc.references"><a href="#rfc.section.7" id="rfc.section.7">7.</a> References 622 631 </h1> 623 <table summary="References"> 632 <table summary="References"> 624 633 <tr> 625 634 <td class="reference"><b id="Part6">[Part6]</b></td> 626 635 <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>, and <a title="World Wide Web Consortium">T. Berners-Lee</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. 636 </td> 637 </tr> 638 <tr> 639 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 640 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 627 641 </td> 628 642 </tr> … … 727 741 </li> 728 742 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"> 743 <li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">1.1</a>, <a class="iref" href="#RFC2119"><b>7</b></a></li> 729 744 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">§</a>, <a class="iref" href="#rfc.xref.RFC2616.2">1</a>, <a class="iref" href="#RFC2616"><b>7</b></a></li> 730 745 <li class="indline1"><em>RFC2617</em> <a class="iref" href="#rfc.xref.RFC2617.1">1</a>, <a class="iref" href="#rfc.xref.RFC2617.2">2.1</a>, <a class="iref" href="#rfc.xref.RFC2617.3">2.2</a>, <a class="iref" href="#rfc.xref.RFC2617.4">3.1</a>, <a class="iref" href="#rfc.xref.RFC2617.5">3.2</a>, <a class="iref" href="#rfc.xref.RFC2617.6">3.3</a>, <a class="iref" href="#rfc.xref.RFC2617.7">3.4</a>, <a class="iref" href="#RFC2617"><b>7</b></a></li> -
draft-ietf-httpbis/latest/p7-auth.xml
r95 r96 222 222 from that specification. 223 223 </t> 224 225 <section title="Requirements" anchor="intro.requirements"> 226 <t> 227 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 228 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 229 document are to be interpreted as described in <xref target="RFC2119"/>. 230 </t> 231 <t> 232 An implementation is not compliant if it fails to satisfy one or more 233 of the &MUST; or &REQUIRED; level requirements for the protocols it 234 implements. An implementation that satisfies all the &MUST; or &REQUIRED; 235 level and all the &SHOULD; level requirements for its protocols is said 236 to be "unconditionally compliant"; one that satisfies all the &MUST; 237 level requirements but not all the &SHOULD; level requirements for its 238 protocols is said to be "conditionally compliant." 239 </t> 240 </section> 224 241 </section> 225 242 … … 487 504 </reference> 488 505 506 <reference anchor="RFC2119"> 507 <front> 508 <title>Key words for use in RFCs to Indicate Requirement Levels</title> 509 <author initials="S." surname="Bradner" fullname="Scott Bradner"> 510 <organization>Harvard University</organization> 511 <address><email>sob@harvard.edu</email></address> 512 </author> 513 <date month="March" year="1997"/> 514 </front> 515 <seriesInfo name="BCP" value="14"/> 516 <seriesInfo name="RFC" value="2119"/> 517 </reference> 518 489 519 <reference anchor="RFC2616"> 490 520 <front>
Note: See TracChangeset
for help on using the changeset viewer.