Changeset 1009
- Timestamp:
- 15/09/10 12:53:21 (12 years ago)
- Location:
- draft-ietf-httpbis-content-disp/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis-content-disp/latest/draft-ietf-httpbis-content-disp.html
r1008 r1009 557 557 value = <value, defined in <a href="#RFC2616" id="rfc.xref.RFC2616.6"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-3.6">Section 3.6</a>> 558 558 </pre><div id="rfc.figure.u.3"></div> 559 <p>Defined in <a href="#RFC5987" id="rfc.xref.RFC5987.1"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a>:560 </p> <pre class="inline"> ext-value = <ext-value, defined in <a href="#RFC5987" id="rfc.xref.RFC5987.2"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a>, <a href="http://tools.ietf.org/html/rfc5987#section-3.2">Section 3.2</a>>559 <p>Defined in <a href="#RFC5987" id="rfc.xref.RFC5987.1"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>: 560 </p> <pre class="inline"> ext-value = <ext-value, defined in <a href="#RFC5987" id="rfc.xref.RFC5987.2"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>, <a href="http://tools.ietf.org/html/rfc5987#section-3.2">Section 3.2</a>> 561 561 </pre><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a id="disposition.type" href="#disposition.type">Disposition Type</a></h2> 562 562 <p id="rfc.section.3.2.p.1">If the disposition type matches "attachment" (case-insensitively), this indicates that the user agent should not display the … … 574 574 being displayed). 575 575 </p> 576 <p id="rfc.section.3.3.p.3">The parameters "filename" and "filename*" differ only in that "filename*" uses the encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.3"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a>, allowing the use of characters not present in the ISO-8859-1 character set (<a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a>). When both "filename" and "filename*" are present, a recipient <em class="bcp14">SHOULD</em> pick "filename*" and ignore "filename" - this will make it possible to send the same header field value to clients that do576 <p id="rfc.section.3.3.p.3">The parameters "filename" and "filename*" differ only in that "filename*" uses the encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.3"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>, allowing the use of characters not present in the ISO-8859-1 character set (<a href="#ISO-8859-1" id="rfc.xref.ISO-8859-1.1"><cite title="Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1">[ISO-8859-1]</cite></a>). When both "filename" and "filename*" are present, a recipient <em class="bcp14">SHOULD</em> pick "filename*" and ignore "filename" - this will make it possible to send the same header field value to clients that do 577 577 not support "filename*". 578 578 </p> … … 614 614 </pre><div id="rfc.figure.u.6"></div> 615 615 <p>Direct UA to show "save as" dialog, with a filename of "an example":</p> <pre class="text">Content-Disposition: Attachment; Filename*=UTF-8'<b>en</b>'an<b>%20</b>example 616 </pre> <p>Note that this example uses the extended encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.4"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a> to specify that the natural language of the filename is English, and also to encode the space character which is not allowed616 </pre> <p>Note that this example uses the extended encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.4"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a> to specify that the natural language of the filename is English, and also to encode the space character which is not allowed 617 617 in the token production. 618 618 </p> … … 620 620 <p>Direct UA to show "save as" dialog, with a filename containing the Unicode character U+20AC (EURO SIGN):</p> <pre class="text">Content-Disposition: attachment; 621 621 filename*= UTF-8''<b>%e2%82%ac</b>%20rates 622 </pre> <p>Here, the encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.5"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a> is also used to encode the non-ISO-8859-1 character.622 </pre> <p>Here, the encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.5"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a> is also used to encode the non-ISO-8859-1 character. 623 623 </p> 624 624 <div id="rfc.figure.u.8"></div> … … 631 631 </p> 632 632 <h1 id="rfc.section.5"><a href="#rfc.section.5">5.</a> <a id="i18n" href="#i18n">Internationalization Considerations</a></h1> 633 <p id="rfc.section.5.p.1">The "filename*" parameter (<a href="#disposition.parameter.filename" title="Disposition Parameter: 'Filename'">Section 3.3</a>), using the encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.6"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a>, allows the server to transmit characters outside the ISO-8859-1 character set, and also to optionally specify the language633 <p id="rfc.section.5.p.1">The "filename*" parameter (<a href="#disposition.parameter.filename" title="Disposition Parameter: 'Filename'">Section 3.3</a>), using the encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.6"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>, allows the server to transmit characters outside the ISO-8859-1 character set, and also to optionally specify the language 634 634 in use. 635 635 </p> … … 638 638 <p id="rfc.section.6.p.1">Using server-supplied information for constructing local filenames introduces many risks. These are summarized in <a href="#disposition.parameter.filename" title="Disposition Parameter: 'Filename'">Section 3.3</a>. 639 639 </p> 640 <p id="rfc.section.6.p.2">Furthermore, implementers also ought to be aware of the Security Considerations applying to HTTP (see <a href="http://tools.ietf.org/html/rfc2616#section-15">Section 15</a> of <a href="#RFC2616" id="rfc.xref.RFC2616.7"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>), and also the parameter encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.7"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a> (see <a href="http://tools.ietf.org/html/rfc5987#section-5" id="rfc.xref.RFC5987.8">Section 5</a>).640 <p id="rfc.section.6.p.2">Furthermore, implementers also ought to be aware of the Security Considerations applying to HTTP (see <a href="http://tools.ietf.org/html/rfc2616#section-15">Section 15</a> of <a href="#RFC2616" id="rfc.xref.RFC2616.7"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>), and also the parameter encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.7"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a> (see <a href="http://tools.ietf.org/html/rfc5987#section-5" id="rfc.xref.RFC5987.8">Section 5</a>). 641 641 </p> 642 642 <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="iana.considerations" href="#iana.considerations">IANA Considerations</a></h1> … … 687 687 <tr> 688 688 <td class="reference"><b id="RFC5987">[RFC5987]</b></td> 689 <td class="top"><a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">Reschke, J.</a>, “<a href="http://tools.ietf.org/html/rfc5987"> Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers</a>”, RFC 5987, August 2010.689 <td class="top"><a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">Reschke, J.</a>, “<a href="http://tools.ietf.org/html/rfc5987">Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters</a>”, RFC 5987, August 2010. 690 690 </td> 691 691 </tr> … … 747 747 <li>The definition for the disposition type "inline" (<a href="#RFC2183" id="rfc.xref.RFC2183.6"><cite title="Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field">[RFC2183]</cite></a>, <a href="http://tools.ietf.org/html/rfc2183#section-2.1">Section 2.1</a>) has been re-added with a suggestion for its processing. 748 748 </li> 749 <li>This specification requires support for the extended parameter encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.9"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a>.749 <li>This specification requires support for the extended parameter encoding defined in <a href="#RFC5987" id="rfc.xref.RFC5987.9"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>. 750 750 </li> 751 751 </ul> … … 758 758 </p> 759 759 <p id="rfc.section.C.p.2">Unfortunately, user agent implementers have not managed to come up with an interoperable approach, although the IETF Standards 760 Track specifies exactly one solution (<a href="#RFC2231" id="rfc.xref.RFC2231.1"><cite title="MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations">[RFC2231]</cite></a>, clarified and profiled for HTTP in <a href="#RFC5987" id="rfc.xref.RFC5987.10"><cite title=" Applicability of RFC 2231 Encoding to Hypertext Transfer Protocol (HTTP) Headers">[RFC5987]</cite></a>).760 Track specifies exactly one solution (<a href="#RFC2231" id="rfc.xref.RFC2231.1"><cite title="MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations">[RFC2231]</cite></a>, clarified and profiled for HTTP in <a href="#RFC5987" id="rfc.xref.RFC5987.10"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>). 761 761 </p> 762 762 <p id="rfc.section.C.p.3">For completeness, the sections below describe the various approaches that have been tried, and explains how they are inferior … … 792 792 <p id="rfc.section.C.3.p.2">As with the approaches above, this is not interoperable and furthermore risks misinterpreting the actual value.</p> 793 793 <h2 id="rfc.section.C.4"><a href="#rfc.section.C.4">C.4</a> <a id="alternatives.implementations" href="#alternatives.implementations">Implementations (to be removed by RFC Editor before publication)</a></h2> 794 <p id="rfc.section.C.4.p.1">Unfortunately, as of September 2010, neither the encoding defined in RFCs 2231 and 5 789, nor any of the alternate approaches794 <p id="rfc.section.C.4.p.1">Unfortunately, as of September 2010, neither the encoding defined in RFCs 2231 and 5987, nor any of the alternate approaches 795 795 discussed above was implemented interoperably. Thus, this specification recommends the approach defined in RFC 5987, which 796 796 at least has the advantage of actually being specified properly. -
draft-ietf-httpbis-content-disp/latest/draft-ietf-httpbis-content-disp.xml
r1008 r1009 414 414 <reference anchor="RFC5987"> 415 415 <front> 416 <title abbrev="RFC2231 Encoding in HTTP">Applicability of RFC 2231 417 Encoding to Hypertext Transfer Protocol (HTTP) Headers</title> 416 <title>Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters</title> 418 417 <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke"> 419 418 <organization abbrev="greenbytes">greenbytes GmbH</organization> … … 432 431 <seriesInfo name="RFC" value="5987"/> 433 432 </reference> 434 435 433 436 434 <reference anchor="ISO-8859-1"> … … 691 689 <t> 692 690 Unfortunately, as of September 2010, neither the encoding defined in RFCs 2231 693 and 5 789, nor any of the alternate approaches discussed above was691 and 5987, nor any of the alternate approaches discussed above was 694 692 implemented interoperably. Thus, this specification recommends the approach 695 693 defined in RFC 5987, which at least has the advantage of actually being
Note: See TracChangeset
for help on using the changeset viewer.