Changeset 1142 for draft-ietf-httpbis-content-disp
- Timestamp:
- Feb 26, 2011, 2:54:51 AM (9 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
r1141 r1142 400 400 <link rel="Appendix" title="B Differences compared to RFC 2183" href="#rfc.section.B"> 401 401 <link rel="Appendix" title="C Alternative Approaches to Internationalization" href="#rfc.section.C"> 402 <link rel="Appendix" title="D Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.D"> 402 <link rel="Appendix" title="D Advice on Generating Content-Disposition Header Fields" href="#rfc.section.D"> 403 <link rel="Appendix" title="E Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.E"> 403 404 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.540, 2011-01-10 09:27:20, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/"> 404 405 <link rel="schema.dct" href="http://purl.org/dc/terms/"> … … 448 449 list is at <<a href="http://trac.tools.ietf.org/wg/httpbis/trac/query?component=content-disp">http://trac.tools.ietf.org/wg/httpbis/trac/query?component=content-disp</a>> and related documents (including fancy diffs) can be found at <<a href="http://tools.ietf.org/wg/httpbis/">http://tools.ietf.org/wg/httpbis/</a>>. 449 450 </p> 450 <p>The changes in this draft are summarized in <a href="#changes.since.05" title="Since draft-ietf-httpbis-content-disp-05">Appendix D.10</a>.451 <p>The changes in this draft are summarized in <a href="#changes.since.05" title="Since draft-ietf-httpbis-content-disp-05">Appendix E.10</a>. 451 452 </p> 452 453 <h1><a id="rfc.status" href="#rfc.status">Status of This Memo</a></h1> … … 505 506 </ul> 506 507 </li> 507 <li>D. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 508 <li>D.1 <a href="#rfc.section.D.1">Since draft-reschke-rfc2183-in-http-00</a></li> 509 <li>D.2 <a href="#rfc.section.D.2">Since draft-reschke-rfc2183-in-http-01</a></li> 510 <li>D.3 <a href="#rfc.section.D.3">Since draft-reschke-rfc2183-in-http-02</a></li> 511 <li>D.4 <a href="#rfc.section.D.4">Since draft-reschke-rfc2183-in-http-03</a></li> 512 <li>D.5 <a href="#changes.since.00">Since draft-ietf-httpbis-content-disp-00</a></li> 513 <li>D.6 <a href="#changes.since.01">Since draft-ietf-httpbis-content-disp-01</a></li> 514 <li>D.7 <a href="#changes.since.02">Since draft-ietf-httpbis-content-disp-02</a></li> 515 <li>D.8 <a href="#changes.since.03">Since draft-ietf-httpbis-content-disp-03</a></li> 516 <li>D.9 <a href="#changes.since.04">Since draft-ietf-httpbis-content-disp-04</a></li> 517 <li>D.10 <a href="#changes.since.05">Since draft-ietf-httpbis-content-disp-05</a></li> 508 <li>D. <a href="#advice.generating">Advice on Generating Content-Disposition Header Fields</a></li> 509 <li>E. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 510 <li>E.1 <a href="#rfc.section.E.1">Since draft-reschke-rfc2183-in-http-00</a></li> 511 <li>E.2 <a href="#rfc.section.E.2">Since draft-reschke-rfc2183-in-http-01</a></li> 512 <li>E.3 <a href="#rfc.section.E.3">Since draft-reschke-rfc2183-in-http-02</a></li> 513 <li>E.4 <a href="#rfc.section.E.4">Since draft-reschke-rfc2183-in-http-03</a></li> 514 <li>E.5 <a href="#changes.since.00">Since draft-ietf-httpbis-content-disp-00</a></li> 515 <li>E.6 <a href="#changes.since.01">Since draft-ietf-httpbis-content-disp-01</a></li> 516 <li>E.7 <a href="#changes.since.02">Since draft-ietf-httpbis-content-disp-02</a></li> 517 <li>E.8 <a href="#changes.since.03">Since draft-ietf-httpbis-content-disp-03</a></li> 518 <li>E.9 <a href="#changes.since.04">Since draft-ietf-httpbis-content-disp-04</a></li> 519 <li>E.10 <a href="#changes.since.05">Since draft-ietf-httpbis-content-disp-05</a></li> 518 520 </ul> 519 521 </li> … … 673 675 filename="EURO rates"; 674 676 filename*=utf-8''<b>%e2%82%ac</b>%20rates 675 </pre> <p>Note: as of February 2011, those user agents that do not support the RFC 5987 encoding ignore "filename*" when it occurs after 676 "filename". Unfortunately, one user agent that does support RFC 5987 picks the "filename" rather than the "filename*" parameter 677 when it occurs first; it is expected that this situation is going to improve soon. 678 </p> 677 </pre> <p>Note: those user agents that do not support the RFC 5987 encoding ignore "filename*" when it occurs after "filename".</p> 679 678 <h1 id="rfc.section.6"><a href="#rfc.section.6">6.</a> <a id="i18n" href="#i18n">Internationalization Considerations</a></h1> 680 679 <p id="rfc.section.6.p.1">The "filename*" parameter (<a href="#disposition.parameter.filename" title="Disposition Parameter: 'Filename'">Section 4.3</a>), using 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>, allows the server to transmit characters outside the ISO-8859-1 character set, and also to optionally specify the language … … 905 904 </p> 906 905 <p id="rfc.section.C.4.p.4">(**) Starting with IE9RC, but only implements UTF-8.</p> 907 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 908 <p id="rfc.section.D.p.1">Note: the issues names in the change log entries for draft-reschke-rfc2183-in-http refer to <<a href="http://greenbytes.de/tech/webdav/draft-reschke-rfc2183-in-http-issues.html">http://greenbytes.de/tech/webdav/draft-reschke-rfc2183-in-http-issues.html</a>>. 909 </p> 910 <h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> Since draft-reschke-rfc2183-in-http-00 906 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="advice.generating" href="#advice.generating">Advice on Generating Content-Disposition Header Fields</a></h1> 907 <p id="rfc.section.D.p.1">To successfully interoperate with existing and future user agents, senders of the Content-Disposition header field are advised 908 to: 909 </p> 910 <p id="rfc.section.D.p.2"> </p> 911 <ul> 912 <li>Include a 'filename' parameter when US-ASCII is sufficiently expressive.</li> 913 <li>Use the 'token' form of the filename parameter only when it does not contain disallowed characters (e.g., spaces); in such 914 cases, the quoted-string form should be used. 915 </li> 916 <li>Avoid including the percent character followed by two hexadecimal characters (e.g., %A9) in the filename parameter, since 917 some existing implementations consider it to be an escape character, while others will pass it through unchanged. 918 </li> 919 <li>Avoid including the "\" character in the quoted-string form of the filename parameter, as escaping is not implemented by some 920 user agents, and can be considered as an illegal path character. 921 </li> 922 <li>Avoid using non-ASCII characters in the filename parameter. Although most existing implementations will decode them as ISO-8859-1, 923 some will apply heuristics to detect UTF-8, and thus might fail on certain names. 924 </li> 925 <li>Include a 'filename*' parameter where the desired filename cannot be expressed faithfully using the 'filename' form. Note 926 that legacy user agents will not process this, and will fall back to using the 'filename' parameter's content. 927 </li> 928 <li>When a 'filename*' parameter is sent, to also generate a 'filename' parameter as a fallback for user agents that do not support 929 the 'filename*' form, if possible. This can be done by substituting characters with US-ASCII sequences (e.g., Unicode character 930 point U+00E4 (LATIN SMALL LETTER A WITH DIARESIS) by "ae"). Note that this may not be possible in some locales. 931 </li> 932 <li>When a 'filename' parameter is included as a fallback (as per above), 'filename' should occur first, due to parsing problems 933 in some existing implementations. <span class="comment" id="fallbackbug">[<a href="#fallbackbug" class="smpl">fallbackbug</a>: Firefox is known to pick the wrong parameter; a bug fix is scheduled for Firefox 5. --jre]</span> 934 </li> 935 <li>Use UTF-8 as the encoding of the 'filename*' parameter, when present, because at least one existing implementation only implements 936 that encoding. 937 </li> 938 </ul> 939 <p id="rfc.section.D.p.3">Note that this advice is based upon UA behaviour at the time of writing, and might be superseded. <<a href="http://purl.org/NET/http/content-disposition-tests">http://purl.org/NET/http/content-disposition-tests</a>> provides an overview of current levels of support in various implementations. 940 </p> 941 <h1 id="rfc.section.E"><a href="#rfc.section.E">E.</a> <a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1> 942 <p id="rfc.section.E.p.1">Note: the issues names in the change log entries for draft-reschke-rfc2183-in-http refer to <<a href="http://greenbytes.de/tech/webdav/draft-reschke-rfc2183-in-http-issues.html">http://greenbytes.de/tech/webdav/draft-reschke-rfc2183-in-http-issues.html</a>>. 943 </p> 944 <h2 id="rfc.section.E.1"><a href="#rfc.section.E.1">E.1</a> Since draft-reschke-rfc2183-in-http-00 911 945 </h2> 912 <p id="rfc.section. D.1.p.1">Adjust terminology ("header" -> "header field"). Update rfc2231-in-http reference.</p>913 <h2 id="rfc.section. D.2"><a href="#rfc.section.D.2">D.2</a> Since draft-reschke-rfc2183-in-http-01946 <p id="rfc.section.E.1.p.1">Adjust terminology ("header" -> "header field"). Update rfc2231-in-http reference.</p> 947 <h2 id="rfc.section.E.2"><a href="#rfc.section.E.2">E.2</a> Since draft-reschke-rfc2183-in-http-01 914 948 </h2> 915 <p id="rfc.section. D.2.p.1">Update rfc2231-in-http reference. Actually define the "filename" parameter. Add internationalization considerations. Add examples949 <p id="rfc.section.E.2.p.1">Update rfc2231-in-http reference. Actually define the "filename" parameter. Add internationalization considerations. Add examples 916 950 using the RFC 5987 encoding. Add overview over other approaches, plus a table reporting implementation status. Add and resolve 917 951 issue "nodep2183". Add issues "asciivsiso", "deplboth", "quoted", and "registry". 918 952 </p> 919 <h2 id="rfc.section. D.3"><a href="#rfc.section.D.3">D.3</a> Since draft-reschke-rfc2183-in-http-02953 <h2 id="rfc.section.E.3"><a href="#rfc.section.E.3">E.3</a> Since draft-reschke-rfc2183-in-http-02 920 954 </h2> 921 <p id="rfc.section. D.3.p.1">Add and close issue "docfallback". Close issues "asciivsiso", "deplboth", "quoted", and "registry".</p>922 <h2 id="rfc.section. D.4"><a href="#rfc.section.D.4">D.4</a> Since draft-reschke-rfc2183-in-http-03955 <p id="rfc.section.E.3.p.1">Add and close issue "docfallback". Close issues "asciivsiso", "deplboth", "quoted", and "registry".</p> 956 <h2 id="rfc.section.E.4"><a href="#rfc.section.E.4">E.4</a> Since draft-reschke-rfc2183-in-http-03 923 957 </h2> 924 <p id="rfc.section. D.4.p.1">Updated to be a Working Draft of the IETF HTTPbis Working Group.</p>925 <h2 id="rfc.section. D.5"><a href="#rfc.section.D.5">D.5</a> <a id="changes.since.00" href="#changes.since.00">Since draft-ietf-httpbis-content-disp-00</a></h2>926 <p id="rfc.section. D.5.p.1">Closed issues: </p>958 <p id="rfc.section.E.4.p.1">Updated to be a Working Draft of the IETF HTTPbis Working Group.</p> 959 <h2 id="rfc.section.E.5"><a href="#rfc.section.E.5">E.5</a> <a id="changes.since.00" href="#changes.since.00">Since draft-ietf-httpbis-content-disp-00</a></h2> 960 <p id="rfc.section.E.5.p.1">Closed issues: </p> 927 961 <ul> 928 962 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/242">http://tools.ietf.org/wg/httpbis/trac/ticket/242</a>>: "handling of unknown disposition types" 929 963 </li> 930 964 </ul> 931 <p id="rfc.section. D.5.p.2">Slightly updated the notes about the proposed fallback behavior.</p>932 <h2 id="rfc.section. D.6"><a href="#rfc.section.D.6">D.6</a> <a id="changes.since.01" href="#changes.since.01">Since draft-ietf-httpbis-content-disp-01</a></h2>933 <p id="rfc.section. D.6.p.1">Various editorial improvements.</p>934 <h2 id="rfc.section. D.7"><a href="#rfc.section.D.7">D.7</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-content-disp-02</a></h2>935 <p id="rfc.section. D.7.p.1">Closed issues: </p>965 <p id="rfc.section.E.5.p.2">Slightly updated the notes about the proposed fallback behavior.</p> 966 <h2 id="rfc.section.E.6"><a href="#rfc.section.E.6">E.6</a> <a id="changes.since.01" href="#changes.since.01">Since draft-ietf-httpbis-content-disp-01</a></h2> 967 <p id="rfc.section.E.6.p.1">Various editorial improvements.</p> 968 <h2 id="rfc.section.E.7"><a href="#rfc.section.E.7">E.7</a> <a id="changes.since.02" href="#changes.since.02">Since draft-ietf-httpbis-content-disp-02</a></h2> 969 <p id="rfc.section.E.7.p.1">Closed issues: </p> 936 970 <ul> 937 971 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/244">http://tools.ietf.org/wg/httpbis/trac/ticket/244</a>>: "state that repeating parameters are invalid" … … 942 976 </li> 943 977 </ul> 944 <p id="rfc.section. D.7.p.2">Update <a href="#alternatives.implementations" title="Implementations (to be removed by RFC Editor before publication)">Appendix C.4</a>; Opera 10.63 RC implements the recommended fallback behavior.945 </p> 946 <h2 id="rfc.section. D.8"><a href="#rfc.section.D.8">D.8</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-content-disp-03</a></h2>947 <p id="rfc.section. D.8.p.1">Closed issues: </p>978 <p id="rfc.section.E.7.p.2">Update <a href="#alternatives.implementations" title="Implementations (to be removed by RFC Editor before publication)">Appendix C.4</a>; Opera 10.63 RC implements the recommended fallback behavior. 979 </p> 980 <h2 id="rfc.section.E.8"><a href="#rfc.section.E.8">E.8</a> <a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-content-disp-03</a></h2> 981 <p id="rfc.section.E.8.p.1">Closed issues: </p> 948 982 <ul> 949 983 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/252">http://tools.ietf.org/wg/httpbis/trac/ticket/252</a>>: "'modification-date' *is* implemented in Konq 4.5" … … 960 994 </li> 961 995 </ul> 962 <h2 id="rfc.section. D.9"><a href="#rfc.section.D.9">D.9</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-content-disp-04</a></h2>963 <p id="rfc.section. D.9.p.1">Updated implementation information (Chrome 9 implements RFC 5987, IE 9 RC implements it for UTF-8 only).</p>964 <p id="rfc.section. D.9.p.2">Clarify who requirements are on, add a section discussing conformance and handling of invalid field values in general.</p>965 <p id="rfc.section. D.9.p.3">Closed issues: </p>996 <h2 id="rfc.section.E.9"><a href="#rfc.section.E.9">E.9</a> <a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-content-disp-04</a></h2> 997 <p id="rfc.section.E.9.p.1">Updated implementation information (Chrome 9 implements RFC 5987, IE 9 RC implements it for UTF-8 only).</p> 998 <p id="rfc.section.E.9.p.2">Clarify who requirements are on, add a section discussing conformance and handling of invalid field values in general.</p> 999 <p id="rfc.section.E.9.p.3">Closed issues: </p> 966 1000 <ul> 967 1001 <li> <<a href="http://trac.tools.ietf.org/wg/httpbis/trac/ticket/243">http://trac.tools.ietf.org/wg/httpbis/trac/ticket/243</a>>: "avoid stating ISO-8859-1 default for header param" (the default is still mentioned, but it was clarified what it applies … … 971 1005 </li> 972 1006 </ul> 973 <h2 id="rfc.section. D.10"><a href="#rfc.section.D.10">D.10</a> <a id="changes.since.05" href="#changes.since.05">Since draft-ietf-httpbis-content-disp-05</a></h2>974 <p id="rfc.section. D.10.p.1">Editorial changes: Fixed two typos where the new Conformance section said "Content-Location" instead of "Content-Disposition".1007 <h2 id="rfc.section.E.10"><a href="#rfc.section.E.10">E.10</a> <a id="changes.since.05" href="#changes.since.05">Since draft-ietf-httpbis-content-disp-05</a></h2> 1008 <p id="rfc.section.E.10.p.1">Editorial changes: Fixed two typos where the new Conformance section said "Content-Location" instead of "Content-Disposition". 975 1009 Cleaned up terminology ("user agent", "recipient", "sender", "message body", ...). Stated what the escape character for quoted-string 976 1010 is. Explained a use case for "inline" disposition type. Updated implementation notes with respect to the fallback behavior. 977 1011 </p> 1012 <p id="rfc.section.E.10.p.2">Added appendix "Advice on Generating Content-Disposition Header Fields".</p> 978 1013 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 979 1014 <p class="noprint"><a href="#rfc.index.C">C</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.R">R</a> -
draft-ietf-httpbis-content-disp/latest/draft-ietf-httpbis-content-disp.xml
r1141 r1142 353 353 </artwork> 354 354 <postamble> 355 Note: as of February 2011, those user agents that do not support the RFC 5987 356 encoding ignore "filename*" when it occurs after "filename". Unfortunately, 357 one user agent that does support RFC 5987 picks the "filename" rather 358 than the "filename*" parameter when it occurs first; it is expected that 359 this situation is going to improve soon. 355 Note: those user agents that do not support the RFC 5987 encoding ignore 356 "filename*" when it occurs after "filename". 360 357 </postamble> 361 358 </figure> … … 832 829 </section> 833 830 831 <section title="Advice on Generating Content-Disposition Header Fields" anchor="advice.generating"> 832 <t> 833 To successfully interoperate with existing and future user agents, senders of 834 the Content-Disposition header field are advised to: 835 </t> 836 <t> 837 <list style="symbols"> 838 <t>Include a 'filename' parameter when US-ASCII is sufficiently 839 expressive.</t> 840 <t>Use the 'token' form of the filename parameter only when it does not 841 contain disallowed characters (e.g., spaces); in such cases, the 842 quoted-string form should be used.</t> 843 <t>Avoid including the percent character followed by two hexadecimal 844 characters (e.g., %A9) in the filename parameter, since some existing 845 implementations consider it to be an escape character, while others will 846 pass it through unchanged.</t> 847 <t>Avoid including the "\" character in the quoted-string form of the 848 filename parameter, as escaping is not implemented by some user agents, 849 and can be considered as an illegal path character.</t> 850 <t>Avoid using non-ASCII characters in the filename parameter. Although 851 most existing implementations will decode them as ISO-8859-1, some 852 will apply heuristics to detect UTF-8, and thus might fail on certain names.</t> 853 <t>Include a 'filename*' parameter where the desired filename cannot be 854 expressed faithfully using the 'filename' form. Note that legacy user 855 agents will not process this, and will fall back to using the 'filename' 856 parameter's content. 857 </t> 858 <t>When a 'filename*' parameter is sent, to also generate a 'filename' 859 parameter as a fallback for user agents that do not support the 'filename*' 860 form, if possible. This can be done by substituting characters with 861 US-ASCII sequences (e.g., Unicode character point U+00E4 (LATIN SMALL 862 LETTER A WITH DIARESIS) by "ae"). Note that this may not be possible in 863 some locales. 864 </t> 865 <t>When a 'filename' parameter is included as a fallback (as per above), 866 'filename' should occur first, due to parsing problems in some existing 867 implementations. 868 <cref anchor="fallbackbug" source="jre"> 869 Firefox is known to pick the wrong parameter; a bug fix is scheduled for 870 Firefox 5.</cref> 871 </t> 872 <t>Use UTF-8 as the encoding of the 'filename*' parameter, when present, 873 because at least one existing implementation only implements that encoding.</t> 874 </list> 875 </t> 876 <t> 877 Note that this advice is based upon UA behaviour at the time of writing, and 878 might be superseded. 879 <eref target="http://purl.org/NET/http/content-disposition-tests"/> provides 880 an overview of current levels of support in various implementations. 881 </t> 882 </section> 834 883 835 884 <section title="Change Log (to be removed by RFC Editor before publication)" anchor="change.log"> … … 984 1033 notes with respect to the fallback behavior. 985 1034 </t> 1035 <t> 1036 Added appendix "Advice on Generating Content-Disposition Header Fields". 1037 </t> 986 1038 </section> 987 1039
Note: See TracChangeset
for help on using the changeset viewer.