<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の
<dfn><code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は、当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>が保存される際の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヒント</anchor>を示すものです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="130" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[130]</anchor-end> 本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>、<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code>
で使われています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> とも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
とも一部異なる構文や処理方法が採られていますので、本項では区別しています。</comment-p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="en">RFC 2183 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field</cite> (<time>2014-09-07 04:20:15 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2183#section-2">http://tools.ietf.org/html/rfc2183#section-2</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <strong><cite xml:lang="en">RFC 2183 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field</cite> (<time>2014-09-07 04:20:15 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2183#section-2.3">http://tools.ietf.org/html/rfc2183#section-2.3</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">RFC 2183 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field</cite> (<time>2014-09-07 04:20:15 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2183#section-5">http://tools.ietf.org/html/rfc2183#section-5</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[133]</anchor-end> <cite xml:lang="en">RFC 3801 - Voice Profile for Internet Mail - version 2 (VPIMv2)</cite> (<time>2014-09-07 15:46:36 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc3801#section-4.3.2">http://tools.ietf.org/html/rfc3801#section-4.3.2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite> (<time>2014-10-13 05:17:21 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266#section-4.1">http://tools.ietf.org/html/rfc6266#section-4.1</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <strong><cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite> (<time>2014-10-13 05:17:21 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266#section-4.3">http://tools.ietf.org/html/rfc6266#section-4.3</anchor-external></strong></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2014-10-30 18:30:38 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#downloading-resources:http-content-disposition-3">https://html.spec.whatwg.org/#downloading-resources:http-content-disposition-3</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2014-10-30 18:30:38 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#downloading-resources:http-content-disposition-4">https://html.spec.whatwg.org/#downloading-resources:http-content-disposition-4</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[138]</anchor-end> <cite xml:lang="en">RFC 5547 - A Session Description Protocol (SDP) Offer/Answer Mechanism to Enable File Transfer</cite> (<time>2014-09-13 18:22:39 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc5547#section-6">https://tools.ietf.org/html/rfc5547#section-6</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[155]</anchor-end> <cite xml:lang="en">RFC 7578 - Returning Values from Forms: multipart/form-data</cite> (<time>2015-07-19 23:17:07 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7578#section-4.2">https://tools.ietf.org/html/rfc7578#section-4.2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="173" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[173]</anchor-end> <cite xml:lang="en">RFC 7578 - Returning Values from Forms: multipart/form-data</cite> (<time>2015-07-19 23:17:07 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7578#section-5.1.2">https://tools.ietf.org/html/rfc7578#section-5.1.2</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME実体</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload</anchor> を単独の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>として保存する際の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を提案するものです
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 構文上は <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の値は無制約となっています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor>、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 5987</anchor> 
により拡張された構文 (<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename*</anchor></code>) 
によって長い名前や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>も扱えます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="122" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;122</anchor-internal> 参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> 多くのシステムでは利用できる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>や長さに制限があることに注意が必要です。
短い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">英数字</anchor>のみの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>であれば、受信側で修正することになる可能性は低くなります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> 多くの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>中の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-pair</anchor>
の <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">\</anchor></code> を正しく処理できません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">\</anchor></code> がどうしても必要なのは <code xmlns="http://www.w3.org/1999/xhtml">&quot;</code> や <code xmlns="http://www.w3.org/1999/xhtml">\</code> を含めたい時ですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>にこれらを使えない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>が多いので、
実際にはそのような場面はあまりないでしょう。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="165" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[165]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体部分</anchor>において、
どのブラウザも常に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-string</anchor> を使います。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor> は <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">\</anchor></code> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">quoted-pair</anchor> にしません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="266" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;266</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="167" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[167]</anchor-end> 未確認ですが、 <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の
<code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の場合同様、
特別な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>の扱いはどのブラウザもおかしいのだろうと思われます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>として指定された値に <code>%</code> のあとに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">十六進数字</anchor>が2つ続くような文字列が含まれる時は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>と誤解されないよう注意が必要です。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;110</anchor-internal> 参照。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">拡張構文を使えば曖昧なく指定できます。</comment-p><section><h1>空文字列</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> 構文上は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>も認められています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> しかし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>として指定する意味があるとはあまり思えません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="161" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[161]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>が何を意味するのかは、仕様上も明確になっていません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> においては、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アップロード</anchor>において<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が指定されていない場合に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が用いられます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="188" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[188]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>を正しく扱えない実装があり (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="186" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;186</anchor-internal>)、要注意です。</p></section></section><section><h1>引数値における非 ASCII 文字</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>にはしばしば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>が使われます。
そのため <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>にも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>が含まれることがあり得ますが、その方法は統一されておらず現在も混乱しています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> 特に最近では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> だけでなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Un*x</anchor>
系でも漢字のファイル名を使ったりする人が増えてきましたから、
大きな問題となります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> 的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> (旧 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2184</anchor>) の拡張構文 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数 (MIME)</anchor> を参照。)
を使うのが正統な方法ですが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> の歴史の中では比較的新しいことや、
複雑であることから、当初あまり実装されず、各 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> が異なる方法で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を扱っていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> に従うべきというのが“専門家”の見解でしたが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> ではなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> <em>もどき</em>を採用している <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
にも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> が適用されるのかは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor> が出版される2011年(!)まで明確な根拠がありませんでした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> ですから、安全にファイル名をやり取りしたいと思ったら、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor> の英数字だけに限定する方が得策です。
しかし、一昔前ならともかく、
多言語・多文字が当たり前の現在ではこのような仕様は批判されても当然でしょう。</p><figure class="table"><dl><dt>proto</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プロトコル</anchor></dd><dt>qs</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor></dd><dt>pe</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor></dd><dt>ew</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor></dd><dt>2231</dt><dd>拡張構文</dd></dl><dl><dt>proto</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor></dd><dt>2231</dt><dd>○</dd><dt>qs</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">US-ASCII</anchor> 限定</dd><dt>pe</dt><dd>×</dd><dt>ew</dt><dd>○ (仕様上は禁止)</dd></dl><dl><dt>proto</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor></dd><dt>2231</dt><dd>略式</dd><dt>qs</dt><dd><code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">charset</anchor></code> 依存? (仕様上は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">US-ASCII</anchor> のみ)</dd><dt>pe</dt><dd>× (過去にあった)</dd><dt>ew</dt><dd>× (過去にあった)</dd></dl><dl><dt>proto</dt><dd><code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code></dd><dt>2231</dt><dd>×</dd><dt>qs</dt><dd>容認 (<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">charset</anchor></code> 依存)</dd><dt>pe</dt><dd>○</dd><dt>ew</dt><dd>×</dd></dl><dl><dt>proto</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor></dd><dt>qs</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor></dd><dt>pe</dt><dd>×</dd><dt>ew</dt><dd>×</dd><dt>2231</dt><dd>×</dd></dl></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="190" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[190]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名の文字コード</anchor>も参照。</p><section><h1>符号化語を使う方法</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を扱う方法として非常に広く採用されているのが、
値である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>の中で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2047</anchor>
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor></code>) を使うというものです。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> 例えば
<samp class="file">filename=&quot;=?iso-2022-jp?b?...hogehoge...?=&quot;</samp>
のようにします。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> は明確に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>内での<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>の使用を禁止しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;100</anchor-internal></src>
し、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor> もそれを本方法が不適切である理由に挙げています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;99</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> ただ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2184</anchor> 登場以前は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メール</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>の唯一の方法が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>でしたから、
それを同じく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の一部である <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の値にも適用するよう拡張するとの判断自体はそうおかしなものでもなかったのでしょう。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2047</anchor> は <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:</anchor></code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>値での<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>を明示的に禁止しています <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;100</anchor-internal></src> が、
その前の版である <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1522</anchor> は言及していません (そもそも 
<code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>がまだありませんでした)。
元々 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 822</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>のどこで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>を使うことができ、
どこで使うことができないかを定める趣旨の規定だったのですから、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor>
で新たに追加された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>において<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>をどう利用するかは本来それに束縛される必要はなかったはずです。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor> 世代までは一部の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>内で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>を使うことを認めていました
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 723x</anchor> 世代でこの規定は削除されました)。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2388</anchor>
も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>を認めていました。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>を使う方法はむしろそちらと整合性があったとも言えます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> 90年代末には、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MSOE</anchor> をはじめ広く使われている <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor>
がこの方法で <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の値を解釈していました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> 現在でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gmail</anchor> はこの方法で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の値を読み書きしているようです。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が短い時は、 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII文字</anchor>が含まれていたとしても) 全体が 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">B符号化</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>内に含まれます。
長い時は間に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FWS</anchor> が入った複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化語</anchor>に分割されます。 <time xmlns="http://www.w3.org/1999/xhtml">2014-11-02T14:10:27.900Z</time></comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> では、互換性のためにこの方法を実装する必要があります。
<time>2014-11-02T14:11:27.00Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では、以前は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> が実装していましたが現在は削除されており <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;87</anchor-internal></src>、
この方法に対応する必要はなさそうです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="162" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[162]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor> 
ではこの方法が用いられたことは歴史的にもないと思われます。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <cite xml:lang="en">RFC 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text</cite> (<time>2014-09-22 05:10:14 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2047#section-5">http://tools.ietf.org/html/rfc2047#section-5</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> <cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite> (<time>2014-10-13 05:17:21 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266#appendix-C.1">http://tools.ietf.org/html/rfc6266#appendix-C.1</anchor-external></li></ul></refs><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[124]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を指定する古い方法である <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Type:</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>でも、同じくこの方法が使われることがよくあります。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="125" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[125]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gmail</anchor> も <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;124</anchor-internal> のように動作します。 <time xmlns="http://www.w3.org/1999/xhtml">2014-11-02T15:00:04.100Z</time></comment-p></section><section><h1>符号化しない方法</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が特別な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>なしでそのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>として指定されることもあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール</anchor>は長らく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8ビット安全</anchor>ではありませんでしたが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">日本語EUC</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor>として使った値が用いられることがしばしばありました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> でもしばしばこの方法が用いられます。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor>
は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> らしい値が指定されると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> として解釈する実装があると述べています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal></src>。その他に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload body</anchor> と同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>が用いられることもあると思われます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</anchor-end> 仕様上は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2068</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2616</anchor> 時代は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>の値を
<code xmlns="http://www.w3.org/1999/xhtml" class="charset" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-8859-1</anchor></code> と解釈することになっていましたが 
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 723x</anchor> はこれを撤回したものの、どう解釈するべきか明確にしていません。)、
実際上は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload body</anchor> と同じと解釈するのが適当と思われます。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="121" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[121]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> と解釈する実装があることを根拠に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>があるとき
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-8859-1</anchor> で表現できるとしても) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>を使わないことを薦めています <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;120</anchor-internal></src>
が、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 723x</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を禁止していますから、
現行仕様に従うなら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を含むなら必ず拡張構文を使う必要があります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="119" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[119]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sniffing</anchor> は誤解釈する問題があるので本方法は不適切としています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;115</anchor-internal></src> が、現在の状況からすると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> においては必ず <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> として解釈する、
あるいは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload body</anchor> として解釈すると規定しても良かったはずです。
最も単純で実装しやすいはずなのに敢えてより複雑な拡張構文のみを正しいとするのは、
はじめから <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> が歴史的に正当であるとの結論ありきの議論のようにも思えます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> では、 <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は常に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>も含めて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">提出</anchor>時の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">charset</anchor> で(のみ)<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7578</anchor> もそのように説明しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="173" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;173</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="166" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[166]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> は言及するだけで、それを肯定も否定もしていません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性</anchor>のためにはその動作を必須とするべきなのでしょうが、そうなっていないのは、
他の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> と矛盾すると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> 的にまずいからでしょうか...</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[168]</anchor-end> 表現できない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">十進数文字参照</anchor>になるのも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体</anchor>と同じです。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">提出</anchor>する場合のみ調べています。) 
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:" xml:lang="en"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="266" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;266</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="266" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[266]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> 3.0.4、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Opera</anchor> 9.61、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Safari</anchor> 3.2、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 7</anchor> の実装状況を調べてみました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> を使うことが認められています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> の方法は認められておらず、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>
でそのまま指定するのが唯一の正当な方法となっています。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> <cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite> (<time>2014-10-13 05:17:21 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266#appendix-C.3">http://tools.ietf.org/html/rfc6266#appendix-C.3</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[120]</anchor-end> <cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite> (<time>2014-10-13 05:17:21 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266#appendix-D">http://tools.ietf.org/html/rfc6266#appendix-D</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="183" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[183]</anchor-end> <cite xml:lang="ja">Safari 15ではダウンロードしたファイル名が文字化けすることがある - Togetter</cite>
(<time>2021-10-28T12:26:04.000Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://togetter.com/li/1794752">https://togetter.com/li/1794752</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="184" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[184]</anchor-end> 
今更こんな<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web非互換</anchor>な変更をぶっこんでくる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Apple</anchor>鬼畜やなあ。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[185]</anchor-end> 
元を辿ればふざけた仕様を数十年放置した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor>が悪いんだが、それを言い出すと全部<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor>が悪いからなw</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="191" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[191]</anchor-end> 
<cite xml:lang="ko">학회/행사/기타 안내 상세보기(일상생활에서 개인정보 지키는 꿀팁!(개인정보 보호 주간 9.30.-10.4.)) | 국립국어원</cite>, <time>2025-05-23T11:20:55.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.korean.go.kr/front/board/boardStandardView.do;front=02D474CEED6BC6E2426609D7FD6CA64E?board_id=7&amp;b_seq=938&amp;mn_id=186">https://www.korean.go.kr/front/board/boardStandardView.do;front=02D474CEED6BC6E2426609D7FD6CA64E?board_id=7&amp;b_seq=938&amp;mn_id=186</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="192" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[192]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.korean.go.kr/common/download.do?file_path=event&amp;c_file_name=4bb0df72-593c-4cde-87ec-5c3e82b645f4.zip&amp;o_file_name=%EC%9D%BC%EC%83%81%EC%83%9D%ED%99%9C%EC%97%90%EC%84%9C%20%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EC%A7%80%ED%82%A4%EB%8A%94%20%EA%BF%80%ED%8C%81(%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EC%A3%BC%EA%B0%84%20%EC%B9%B4%EB%93%9C%20%EB%89%B4%EC%8A%A4).zip">https://www.korean.go.kr/common/download.do?file_path=event&amp;c_file_name=4bb0df72-593c-4cde-87ec-5c3e82b645f4.zip&amp;o_file_name=%EC%9D%BC%EC%83%81%EC%83%9D%ED%99%9C%EC%97%90%EC%84%9C%20%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EC%A7%80%ED%82%A4%EB%8A%94%20%EA%BF%80%ED%8C%81(%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EC%A3%BC%EA%B0%84%20%EC%B9%B4%EB%93%9C%20%EB%89%B4%EC%8A%A4).zip</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="193" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[193]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="192" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;192</anchor-internal></p><pre>Set-Cookie: SCOUTER=z2p6t444haner5; Expires=Wed, 10-Jun-2093 14:39:10 GMT; Path=/
Access-Control-Allow-Methods: GET, POST
Access-Control-Max-Age: 3600
Access-Control-Allow-Headers: x-requested-with
Access-Control-Allow-Origin: http://lib.korean.go.kr/usweb/union3/ksearch.asp
Access-Control-Allow-Origin: http://lib.korean.go.kr/usweb/union3/klist_result.asp
Access-Control-Allow-Origin: http://lib.korean.go.kr/usweb/union3/klist_view.asp
Set-Cookie: front=E248D9A8824E811B761DABE9BBEE5E0F; Path=/; Secure; HttpOnly
Content-Disposition: attachment; filename=&quot;ì¼ììíìì ê°ì¸ì ë³´ ì§í¤ë ê¿í(ê°ì¸ì ë³´ ë³´í¸ì£¼ê° ì¹´ë ë´ì¤).zip&quot;;
Content-Length: 599262
Vary: User-Agent
Connection: close
Content-Type: application/zip;charset=utf-8</pre><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor></comment-p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="194" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[194]</anchor-end> 
<cite xml:lang="ko">시정소식 &lt; 새소식 &lt; 용인소식 &lt; HOME : 용인시청 대표포털</cite>, <time>2025-05-23T11:37:27.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.yongin.go.kr/user/bbs/BD_selectBbs.do?q_bbsCode=1001&amp;q_bbscttSn=20240219075251883">https://www.yongin.go.kr/user/bbs/BD_selectBbs.do?q_bbsCode=1001&amp;q_bbscttSn=20240219075251883</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="195" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[195]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.yongin.go.kr/component/file/ND_fileDownload.do?q_fileSn=395735&amp;q_fileId=ac01f7a4-ddee-47dd-b505-b2e134c1f2ae">https://www.yongin.go.kr/component/file/ND_fileDownload.do?q_fileSn=395735&amp;q_fileId=ac01f7a4-ddee-47dd-b505-b2e134c1f2ae</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="196" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[196]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="195" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;195</anchor-internal></p><pre class="HTTP">Access-Control-Allow-Origin: *
Date: Fri, 23 May 2025 11:39:07 GMT
Content-Transfer-Encoding: binary
Content-Disposition: attachment; filename=&quot;ã&lt;U+0080&gt;&lt;U+008C&gt;ê°&lt;U+009C&gt;ì&lt;U+009D&gt;&lt;&lt;U+0098&gt; ì&lt;U+008B&gt;&lt;U+009D&gt;ì&lt;U+009A&gt;© ëª©ì &lt;U+0081&gt;ì&lt;U+009D&gt;&lt;U+0098&gt; ì&lt;U+0082&gt;¬ì&lt;&lt;U+009C&gt;¡ã&lt;U+0086&gt;&lt;U+008D&gt;ë&lt;U+008F&gt;&lt;U+0084&gt;ì&lt;U+0082&gt;´ ë°&lt;U+008F&gt;  ì&lt;U+009C&gt; í&lt;U+0&lt;U+0086&gt;µ ë&lt;U+0093&gt;± ì¢&lt;U+0085&gt;ì&lt;U+008B&gt;&lt;U+009D&gt;ì&lt;U+0097&gt;&lt;U+0090&gt; ê´&lt;U+0080&gt;í&lt;U+&lt;U+0095&gt;&lt;U+009C&gt; í&lt;U+008A&gt;¹ë³&lt;U+0084&gt;ë²&lt;U+0095&gt;ã&lt;U+0080&gt;&lt;U+008D&gt; ë&lt;U+0093&gt;±.zip&quot;
Content-Type: text/plain;charset=utf-8</pre><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>。なお<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZIP</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EUC-KR</anchor>)。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="198" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[198]</anchor-end> 
<cite xml:lang="el">Διακηρύξεις μίσθωσης και εκμίσθωσης ακινήτων. - Διεύθυνση Διοικητικών Υπηρεσιών - Ελληνική Δημοκρατία - Περιφέρεια Αττικής</cite>, <time>2025-05-23T15:10:12.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?preview=263-diakhrykseis-2020-zip">https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?preview=263-diakhrykseis-2020-zip</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="197" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[197]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?fdl=YTJ4TDV2Tnh1ZzAzZG9KSkRWZXVEcVZtY2ZHZDZoS1owc2FyY0tQNUovSGFqMkhpK2xZNkxOVHBxdHFaeWNSdGVFY3JMMjEzUzNKbmRXeGhlSGQ0VEZCWVNFRTFRVDA5">https://opendata.attica.gov.gr/content/genikh-dieythynsh-eswterikhs-leitoyrgias/d-nsh-dioikhtikwn-yphresiwn/155-diakhrykseis?fdl=YTJ4TDV2Tnh1ZzAzZG9KSkRWZXVEcVZtY2ZHZDZoS1owc2FyY0tQNUovSGFqMkhpK2xZNkxOVHBxdHFaeWNSdGVFY3JMMjEzUzNKbmRXeGhlSGQ0VEZCWVNFRTFRVDA5</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="199" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[199]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="197" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;197</anchor-internal></p><blockquote><pre>Content-Type: application/zip
Content-Disposition: attachment; filename=&quot;ÎÎÎÎÎÎ¡Î¥ÎÎÎÎ£ 2020.zip&quot;
Content-Transfer-Encoding: binary</pre></blockquote><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="200" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[200]</anchor-end> 
<cite xml:lang="cs">C121040 Dodatečné informace.zip, MŠMT ČR</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">QCM, s.r.o web@qcm.cz http://www.qcm.cz</anchor>, <time>2025-05-24T03:31:03.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://msmt.gov.cz/file/26589/">https://msmt.gov.cz/file/26589/</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="201" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[201]</anchor-end> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://msmt.gov.cz/file/26589_1_1/download/">https://msmt.gov.cz/file/26589_1_1/download/</anchor-external></li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="202" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[202]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="201" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;201</anchor-internal></p><pre class="HTTP code">server: Microsoft-IIS/10.0
set-cookie: msmt_session=ivcvs68987fb5ct4mt08r9s663; expires=Sat, 24-May-2025 06
:00:27 GMT; path=/; HttpOnly
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
strict-transport-security: max-age=63072000; includeSubDomains; preload
content-security-policy: default-src 'self' https://*.google-analytics.com; scri
pt-src 'unsafe-inline' 'unsafe-eval' 'self' https://www.termsfeed.com https://*.
google-analytics.com https://www.googletagmanager.com; style-src 'unsafe-inline'
 'self'; img-src 'self' https://*.google-analytics.com data:; frame-src 'self' h
ttps://www.youtube.com
referrer-policy: strict-origin
permissions-policy: camera=(), geolocation=(), microphone=(), payment=(), usb=()
x-powered-by: PHP/5.4.45
content-description: File Transfer
content-transfer-encoding: binary
content-disposition: attachment; filename=&quot;C121040 DodateÄ&lt;U+008D&gt;nÃ© informace.zip&quot;
x-powered-by: ARR/3.0
date: Sat, 24 May 2025 03:30:27 GMT</pre></section><section><h1>パーセント符号化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では、値が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>されることもあります。その場合の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor>は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">payload body</anchor> で使われている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>だったり、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">locale</anchor>
や設定に依存したり、自動判別されたりするようです。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;111</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor>) は、対応していない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>された文字列が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>として使われてしまうこと、
どの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字符号化</anchor>が使われているか明確で無いことからこの方法は不適切としています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;111</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引用文字列</anchor>の指定に対応しています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> の構文に対応する前はこの方法に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fallback</anchor>
すればよいと言われていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> でこの方法が採られるのは見かけません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> でももはやこの方法に対応する必要は無いのかもしれませんが、はっきりしません。
<time>2014-11-02T14:49:15.700Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="179" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[179]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> も、この方法に対応しているようです。
<time>2017-05-20T07:19:01.900Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="180" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[180]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グループウェア</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>には、未だにこの方式のみを採用しているものがあるようです。
<time>2017-05-20T07:19:16.100Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="163" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[163]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体部分</anchor>では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIMEヘッダー</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">US-ASCII</anchor> しか使えないシステムとの互換性のため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>しても構わない <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>、とされています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[164]</anchor-end> 仕様に従う <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> システムとの互換性のためには必ず<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>しなければならないことになってしまいます。
現実の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> システムはそうでもないので必ずしも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>しなくて構わないといえます。
(そして現実には <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は何も符号化しません。)</comment-p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> <cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite> (<time>2014-10-13 05:17:21 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266#appendix-C.2">http://tools.ietf.org/html/rfc6266#appendix-C.2</anchor-external></li></ul></refs></section><section><h1>RFC 2231 の拡張構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="122" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[122]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor>、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 5987</anchor> の拡張構文
(<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename*</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>) により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を使うことができます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数 (MIME)</anchor>、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal> を参照。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2183</anchor> には同時に発行された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2184</anchor> (後に改訂されて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor>)
を参照して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>を扱えると述べている箇所と、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>は扱えず将来の拡張が待たれるとしている箇所があり、
矛盾しています。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2183</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2184</anchor> は同時に出版されたにも関わらず、
前者が後者により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新</anchor>される形が採られています。記述に矛盾があるとはいえ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2184</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> の拡張が適用され、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>も扱えると解釈するのが一般的です。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[123]</anchor-end> 90年代から00年代中頃まではこの方法はあまり実装されていませんでしたが、
その後徐々に対応が広がってきています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="126" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[126]</anchor-end> 現在では多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> がこの方法で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME実体</anchor>に指定された名前を理解できるようです。
しかし送信時にこの方法を使うとは限りません。 <time>2014-11-02T15:00:40.500Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[127]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>はこの方法で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> に指定された名前を理解できるようになっています。
<time>2014-11-02T15:01:13.700Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="128" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[128]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では仕様上 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-8859-1</anchor> を使えることになっていますが、
実装によっては <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> しか対応していないので、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> を使うべきです <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;120</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では、旧来の構文 (<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>) しか理解しない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor>に対応するため、
旧来の構文と拡張構文 (<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename*</anchor></code>) の両方を指定することができます
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;120</anchor-internal></src>。その場合、一部の実装との互換性の問題のため、
<code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> を先に置くべきです <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;120</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="160" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[160]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体本体</anchor>では、拡張構文を使っては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="169" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[169]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体部分</anchor>ではこの方法が用いられたことは歴史的にも現実にはなかったと思われますが、
仕様上は混乱がありました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="172" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[172]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML4</anchor> は、 UA 側システムのファイル名が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">US-ASCII</anchor> でないときには、
ファイル名は近似するか、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2045</anchor> の方法で符号化しなければならない
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HTML 4 17.13.4.2</src> と述べていました。しかし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2045</anchor> 
の方法とは一体何を指しているのか不明で、それらしい規定は見当たりません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="170" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[170]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2388</anchor> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2045</anchor> ではなく、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor> 
の方法を使っても良いとしていました <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">RFC 2388 4.4</src>。 この規定は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor>
とは整合していますが、
<code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">encoded-word</anchor></code> を使うべしとする <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code>
引数の規定とは一貫しておらず、本当に使い分けろというのか謎でした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="171" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[171]</anchor-end> それから17年後の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7578</anchor> でようやく改訂され、拡張構文は明確に禁止されています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="129" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[129]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SIP</anchor> ではこの方法は使われません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="203" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[203]</anchor-end> <cite xml:lang="ja">てやんでぇサポートPDF - てやんでぇ_江戸風文字一覧.pdf</cite>, <time>2024-09-19T13:00:28.000Z</time>, <time>2025-05-30T03:55:01.415Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://support.morisawafonts.com/hc/ja/article_attachments/37901537591193">https://support.morisawafonts.com/hc/ja/article_attachments/37901537591193</anchor-external></p><blockquote><pre>Content-Disposition: inline; filename=&quot;______________.pdf&quot;; filename*=utf-8''%E3%81%A6%E3%82%84%E3%82%93%E3%81%A6%E3%82%99%E3%81%87_%E6%B1%9F%E6%88%B8%E9%A2%A8%E6%96%87%E5%AD%97%E4%B8%80%E8%A6%A7.pdf</pre></blockquote></section><section><h1></h1><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="204" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[204]</anchor-end> 
<cite xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Multipart with utf8 filename is not being transmitted correctly. · Issue #5912 · postmanlabs/postman-app-support</cite>, <time xmlns="http://www.w3.org/1999/xhtml">2025-11-22T14:32:40.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/postmanlabs/postman-app-support/issues/5912">https://github.com/postmanlabs/postman-app-support/issues/5912</anchor-external></ed></section></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">disposition型</anchor>に関わらず任意の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME実体</anchor>に指定できます。 <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition: inline</anchor></code>
であっても指定して構いません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> しかし多くの場合は <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition: attachment</anchor></code>
と共に使用され、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール</anchor>においては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">添付ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> においては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダウンロード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を表します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> においては、
<code class="HTML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&lt;input type=file&gt;</anchor></code> などで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">提出</anchor>した際に当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を指定するために
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>が用いられます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">この場合の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">disposition型</anchor>は <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">form-data</anchor></code> です。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[159]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体部分</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を表す場合、
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を指定する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="156" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;156</anchor-internal> も参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[134]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">VPIM</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>情報が利用可能なら、 <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>を指定する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;133</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="135" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[135]</anchor-end> なお <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">VPIM</anchor> では <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition: inline</anchor></code>
の指定が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">必須</strong></anchor>となっています。</comment-p></section><section><h1>処理モデル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">添付ファイル</anchor>が存在する旨の文字やアイコンに添えて表示したり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ツールチップ</anchor>で表示したりできます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition: attachment</anchor></code> で用いられている場合は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">添付ファイル</anchor>の保存を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が選択した時に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の元として利用したり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>に含まれていた時に保存先を選択するにあたり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の元として利用したり <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>
できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition: inline</anchor></code> で用いられている場合は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> で表示中の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>の保存を選択した時に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の元として利用したり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>で表示中のページの保存を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が選択した時に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の元として利用したり
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src> できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダウンロード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor> (の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor>) の決定に
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の値が使われることがあります <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;51</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;52</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダウンロード</anchor>も参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>を受信した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor>
が当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>として保存する際は、
指定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>をできるだけ実際の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の基礎として用いる<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">should</rt></rubyb>です
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> ただし <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>があるからといって受信した実装が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>に保存しなければならないわけではありません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が特に要求しない限り、当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>を通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メール</anchor>の処理の一部として表示したとしてもまったく問題ありません。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> では、 <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>が旧来の構文と拡張構文の両方で指定された場合、
拡張構文を採用し、旧来の構文を無視する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数 (HTTP)</anchor>も参照。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> では特に規定がありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> なお、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 5987</anchor> の拡張構文では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語タグ</anchor>を指定できますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>はあまり使われず、無視されるであろうと <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor>
は述べています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;41</anchor-internal></src>。</p></section><section><h1>ファイル名の決定とセキュリティー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> でも <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> の指定は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヒント</anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src> とされています。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>も、 <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>
の指定に関わらず任意の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を使うことができます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> 実装によっては <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> で指定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を原則そのまま
(都度<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に確認することなく) 保存に使うものがありますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティー</anchor>には十分な配慮が必要です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> また<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に都度<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を確認する場合で、 <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>
の値は単にその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor>として示すだけであったとしても、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が意図せずシステムを破壊してしまったり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を危険な位置に保存してしまったりすることがないよう、
配慮が必要でしょう。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> は何も考えずに指定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を使ってはいけません。
保存先の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>の規約に従っているか、
既存の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を上書きしてしまわないか、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティー</anchor>上の問題を起こさないかを検査して、
必要なら変更する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べき</strong></anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> は <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>で指定された値に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>の部分があっても、
それに従う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor>。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>を除いた狭義の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の部分のみを使うべきです
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2183</anchor> は将来の拡張で <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>を指定できるようにする可能性を示唆しています
<src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></src> が、その後そのような動きはなく、今後もそのような仕組みが新たに追加されることはなさそうです。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に指定された位置以外に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を保存させることができては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。
この要件を満たす方法の例として、 <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> や <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">\</anchor></code>
のような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォルダー</anchor>の名前との区切りの文字よりも前の部分はすべて除去することができます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src></p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> 具体的な方法が仕様上要求されていないのは、要件が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>などに依存するというのが大きな理由でしょう。例えば実際の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データベースサーバー</anchor>上に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">添付ファイル</anchor>を保存する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クラウドストレージ</anchor>サービスと連携した
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUA</anchor> なら、任意の文字列を安全に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>として指定できるかもしれません。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> RFC 2183 にも記述がありますが、例えば <samp class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/etc/passwd</anchor></samp> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src>
というファイル名が指定されていたとしましょう。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA</anchor>
がその名前でファイルを保存してしまって、しかもたまたま
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">permission</anchor> 的にもそれが成功してしまうと、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Un*x</anchor>
系の処理系では困ったことになります。
(そのような permission にしてあるのも問題ですが...)</p><p>ですから、この値は参考程度とするべきものであって、
自動処理でこの名前をそのまま使う時は、
細心の注意を払う必要があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> システムにより特別な意味を持った名前のファイルを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が意識せずに作ってしまったり、
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PATH</anchor></code> が通った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>に実行可能なファイルを置いてしまったりしては危険ですから、
実装は何らかの配慮をするべきでしょう <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> のファイル選択対話箱と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ショートカット</anchor>の組合せでファイルを書き換えるよう<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>を誘導し得ることが知られています。
このように、システムにファイル・システム内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク</anchor>機能の類があり、
ファイル名の決定に関する利用者界面に不備があると安全上の問題になり得ます。
利用者への配慮のつもりが却って問題のもとになることもありますから、
よく考慮しなければなりません。 </p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> 多くの環境では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>上に保存できず、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の種類を表します。
そのような環境では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>が安全で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>と一致したものとなるようにしなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> Windows ではファイル名の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>と呼ばれる接尾辞の部分が省略されて表示されるのが標準の設定で、
その設定を変更しても<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ショートカット</anchor>など一部の種類のファイルは依然表示されません。
それを悪用して <samp class="file">example.txt.lnk</samp> や
<samp class="file">example.txt.vbs</samp> のようにファイル名を<q>偽装</q>
する方法が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Outlook Express</anchor> を対象によく行われています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>によっては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダウンロード</anchor>した外来の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を表す属性が存在することがあります。
保存時にそのような属性を設定することで、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">送信者</anchor>が指定した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>や
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>、あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が選択した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>によって当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実行可能</anchor>と判断される場合で、
後に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>がその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を実行するよう指示した時に、
本当に実行してよいか <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> から確認させることができます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> 表示上、あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>として問題となる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>、
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御文字</anchor>や末尾の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>は、削除する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べき</strong></anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング言語</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>等によっては、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パイプ</anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リダイレクト</anchor>などに使用する特殊な文字を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>と共に使用することができ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が意図しない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コマンド</anchor>が実行されてしまったり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が書き換えられてしまったりする危険性があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> その他<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シェル</anchor>で問題となる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>として、
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.</anchor></code>、<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">..</anchor></code>、<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">~</anchor></code>、<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">|</anchor></code>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">デバイス名</anchor>などがあります。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者</anchor>はこれらを無視したり、
置き換えたりする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src></p></section><section><h1>ファイル名に意味が無い場合</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="156" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[156]</anchor-end> <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> では <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は指定する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べき</strong></anchor>とはいえ、必須ではない <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>
とされています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="157" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[157]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は、取得できないこともあるかもしれません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>。
利用する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> などの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の取得方法次第で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の内容にはアクセスできても、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>にはアクセスできないかもしれません。
一般的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パソコン</anchor>等とは異なるシステムでは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>がなかったり一般的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルシステム</anchor>とは異なる形で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を扱っているかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="158" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[158]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>は、意味がないものかもしれません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;155</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部装置</anchor>からの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">入力</anchor>を受ける一時ファイル名 (機械的に付けられたもの)
かもしれません。</p></section><section><h1>ファイル名の互換性問題</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <code class="MIME">filename</code> 引数ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>そのものが持つ大きな問題が、
ファイル名の制限や慣習の違いです。次に幾つかの例を挙げますが、
この他にも様々な問題があり、送信側は <code class="MIME">filename</code>
引数を指定するにしても余り多くを期待しないこと、
受信側は <code class="MIME">filename</code> 引数の値をありとあらゆる可能性を検討しつつそのシステムで適切な形に適宜変換することが重要です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 古い<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル・システム</anchor>は
8文字に名前が制限されることがあり、 <code class="MIME">filename</code>
引数でも互換性のためにそれに従うことを進める仕様もあります
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3851</anchor> 3.2.1</src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> ファイル・システムによっては大文字・小文字が区別できなかったり、
区別を保存はできても大文字・小文字だけが異なるファイルが同時に存在できなかったりします。
大文字・小文字の範囲が異なることもあります
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(例: <anchor>ギリシャ文字</anchor>, <anchor>互換性文字</anchor>, ...)</weak>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 多くのシステムでは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>と呼ばれる接尾辞によってファイルの種類を表すことが行われています。
特定の接尾辞を付けることを呼びかける仕様もある <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">例えば RFC 3851 3.2.1</src>
一方で、 <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Type</anchor></code> と重複する情報であり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>がシステムの慣習や制限に従い自動的に付加するのが望ましいという意見もあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> ファイル・システムや<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オペレーティング・システム</anchor>のファイルにアクセスするための仕組みで採用している<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>は様々です。
あるシステムで使える文字が別のシステムで使えなかったり、
使うと問題の基になったりすることは少なくありません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>で使われている文字コードからシステムの文字コードへの変換も適切に行わなければなりません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor> の範囲は割と安全ですが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EBCDIC</anchor> 
系などもありますから安心できません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor>
の2バイト目が ASCII と衝突して云々のような問題もあります。
文字コードそのものの問題だけではなく、
特殊な意味に使われるために予約されている文字もシステムによって様々です。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">英数字</anchor>なら安全と思いきや、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逃避</anchor>などの目的で使われることもあるから油断できません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 多くのシステムには <code class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/dev</anchor></code> や <code class="file"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CON</anchor></code>
のような特殊な名前のファイルがあります。安全性に関わりますから特に注意が必要です。
ファイル・システム的に特殊でなくても、
システムにおいて重要なファイルにも注意が必要です (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal>)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end>
現代的なファイル・システムは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリ</anchor>によって階層化された名前空間でファイルを管理していますが、
その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">経路</anchor>でディレクトリ名やファイル名の区切りとして使われる文字は様々です。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Un|x</anchor> では <code>/</code>、伝統的な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac OS</anchor> では <code>:</code>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> では <code>\</code> が使われます。
他のシステムでは他の文字が使われているかもしれません。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor> のように、バイト列で <code>\</code> が使われる文字コードが使われるシステムもあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end>
階層的なファイル・システムでは <code class="file">.</code>
(同じ階層) や <code class="file">..</code> (一つ上の階層) や
<code class="file">...</code> (二つ上の階層) のように相対的な参照のための仕組みを用意していることがあります。
安全面から特定の階層へのファイルの保存のみを認めたつもりでも、
ファイル名にこのような特殊な文字列が含まれているとそのチェックをすり抜けられるかもしれません。
利用者エージェントはそのシステムの仕組みに応じて厳しいチェックが必要です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> なお、システムによっては、ファイル・システムで本来認められない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット</anchor>を使った名前の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が作れてしまい、
そのシステム標準の方法では削除できないということがあり得ます。
安全対策を行った上で <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> や
<code class="822"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Subject</anchor></code> などから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を決定するとしても、
使用する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット</anchor>が本当に安全なものかどうかをよく確かめなければなりません。</p></section><section><h1>実体間のファイル名の関係</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="131" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[131]</anchor-end> 仕様上、各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の関係は明記されていません。
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/*</anchor></code> に含まれる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体本体</anchor>で相互に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を使って参照できるとはされていませんし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が重複していていけないとの規定もありません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリ名</anchor>のように見える文字列が含まれていたとしても、
それらの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリ</anchor>に保存されるとも、
別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリ</anchor>に保存されるとも何ら保証されません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="132" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[132]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2388</anchor> は <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code>
による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">提出</anchor>に関して、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>で相互参照されている可能性があるため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が保持されると有用だと述べています (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en">multipart/form-data</code></anchor>参照)。
ただ具体的な要件や処理方法を定めているわけではありません。</p></section><section><h1>実装</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="186" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[186]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルアップロード</anchor>を受け付ける<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPサーバー</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーションサーバー</anchor>)
の中には、
<code>filename=&quot;&quot;</code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>によって
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>ではない)
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が指定されていない場合に、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>が存在すると認識できずにエラーを返すものがあります。
<time>2021-11-09T09:41:11.00Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="187" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[187]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイルアップロード</anchor>に対応した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web互換性</anchor>のため、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が与えられなかったときでも
<code>file.dat</code>
のような適当な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を補った方が良いのかもしれません。</p></section><section><h1>SDP <code>'file-selector'</code> 属性 <code>'name'</code> 選択子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="139" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[139]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SDP</anchor> の <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">'file-selector'</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の
<dfn><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">選択子</anchor>は、
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>に対応するものです <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;138</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="140" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[140]</anchor-end> <code>'name'</code> では値として直接指定または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>のいずれかを
<code>&quot;</code> で括った構文 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor>) を採用しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;138</anchor-internal></src>。</p></section><section><h1>歴史</h1><section><h1><code class="MIME" xml:lang="en">Content-Type:</code> ヘッダー <code class="MIME" xml:lang="en">name</code> 引数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <strong><code class="MIME">Content-Type:</code> 欄の <code class="MIME">name</code> 引数</strong>:
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor> の初版、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1341</anchor> では <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/octet-stream</anchor></code>
に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を表す <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code> 引数がありました <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="151" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;151</anchor-internal></src>。
しかし、この引数が <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Type</anchor>:</code> 欄そのものの引数と誤解され、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体型</anchor>に関わらず <code class="MIME">name</code> 引数はファイル名と扱われるようになってきました。
そこで <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> は <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition</anchor>:</code> 欄を用意して
ODE(MIME)[filename]] 引数を設け、 <code class="MIME">application/octet-stream</code>
の <code class="MIME">name</code> 引数は廃止しました。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="154" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[154]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2046</anchor> は「<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>非推奨</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">deprecated</rt></rubyb>となっている」 <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="152" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;152</anchor-internal></src>
と述べています。同じく削除された <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">conversions</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>は「削除」と説明しているのに対し、 <code xmlns="http://www.w3.org/1999/xhtml" class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code>
は「非推奨」と区別して記述されていますが、その意図は不明です。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="153" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[153]</anchor-end> 現在では <code class="MIME">Content-Type:</code> 欄の <code class="MIME">name</code> 
引数だけを見てファイル名を決める<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>はもはや存在しないと推測されますが、
依然として多くの利用者エージェントがメッセージ作成時に 
<code class="MIME">Content-Disposition:</code> 欄の <code class="MIME">filename</code> 引数と 
(媒体型に関わらず) <code class="MIME">Content-Type:</code> 欄の <code class="MIME">name</code> 
引数の両方にファイル名を入れています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <strong>ファイル名を表す <code class="MIME">name</code> 引数を持つ媒体型</strong>:<table><tbody><tr><td>媒体型</td><td>状態</td><td>出典</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/octet-stream</anchor></code></td><td>廃止 (IETF 提案標準)</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1341</anchor></td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/pkcs7-mime</anchor></code></td><td>IETF 標準化過程</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3851</anchor> 3.2.1</td></tr></tbody></table></p><p>注: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3851</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S/MIME</anchor>) は <code class="MIME">application/pkcs7-mime</code>
で両方の引数を付けることを推奨しています。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="151" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[151]</anchor-end> <cite xml:lang="en">RFC 1341 - MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies</cite> (<time>2015-05-03 14:29:03 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc1341#page-46">http://tools.ietf.org/html/rfc1341#page-46</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="152" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[152]</anchor-end> <cite xml:lang="en">RFC 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</cite> (<time>2015-03-22 13:14:46 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2046#section-4.5.1">http://tools.ietf.org/html/rfc2046#section-4.5.1</anchor-external></li></ul></refs></section><section><h1><code class="MIME" xml:lang="en">Content-Disposition:</code> ヘッダー <code class="MIME" xml:lang="en">filename</code> 引数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <em>Content-Disposition</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tohoho.wakusei.ne.jp/lng/199903/99030058.htm">http://tohoho.wakusei.ne.jp/lng/199903/99030058.htm</anchor-external> : <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の実装の状況 (1999)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <em>414647 - [IE5] Content-Disposition: の DBCS ファイル名(5C)が認識できない</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP414/6/47.asp">http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP414/6/47.asp</anchor-external> 
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 4</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE 5</anchor>)</p><p>HTTP で使われるときに、例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">シフトJIS</anchor> で 
<samp class="HTTP">filename=表.xls</samp> とあったら、
保存時の既定名が <samp class="file">表.xls</samp> ではなくて URI 
の末尾の部分と同じになるという話。 </p><p><code class="char">0x5C</code> を quote として落とすだけなら分かる 
(仕様上正しい動作) だけど、全く無視してしまうのはおかしい。(けど、
<samp>表</samp>の片割れが残って、
不正なファイル名→無視と判断しているのならまともかもしれない。)</p><p>なんにせよ、この文書での M$ の立場は<q>本来 <code class="charset"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">US-ASCII</anchor></code> しか使えないけど、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DBCS</anchor> もおまけで対応してるよん☆</q>らしい。 
M$ にしては珍しくまともなことを言ってるね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <em>Bug 162765 - RFC2231 filename support for nsExternalAppHandler</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://bugzilla.mozilla.org/show_bug.cgi?id=162765">http://bugzilla.mozilla.org/show_bug.cgi?id=162765</anchor-external> : Mozilla が RFC 2231 方式に対応したという話。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end>
Mozilla 1.2.1 Navigator で、「ファイル」-&gt;「ページを送信」してメイルに添付して送ろうとしますと、たとえばみてた URI
が <samp class="URI">http://foo.example/path/to/resource</samp>
であるなら、 <code class="MIME">filename</code> 引数は <samp class="file">foo.example/path/to/resource</samp>
になりました。</p><p>これってどう考えれば良いのだろう。
別に間違ったことをしているわけではないけど、あまり正しいようにも思えない。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-05-10 04:45:59 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">form</anchor></code> からのファイル<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">うp</anchor>の時の <code class="MIME">filename</code> 引数の値、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE6</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">完全経路</anchor>名、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mozilla</anchor> 1.4 と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Opera</anchor> 7.20 では狭義のファイル名になりました。 
(MIME 的には後者が適当。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 引数の値の符号化は、 <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/form-data</anchor></code> 
の他の部分と同じになりました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> WinNN 3.0 では完全経路名、
MacNN 3.0 では狭義ファイル名。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end>
FirefoxはRFC 2231実装してますね。WinIE6やOpera8はしていませんが。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">成瀬</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2005-05-22 08:58:59 +00:00</weak>)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end>
<cite>Test Cases for HTTP Content-Disposition header and RFC 2231/2047 Encoding</cite> (<time>2008-09-21 02:53:50 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://greenbytes.de/tech/tc2231/">http://greenbytes.de/tech/tc2231/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <cite>Test Cases for HTTP Content-Disposition header field and the Encodings defined in RFC 2047/6266 and RFC 2231/5987</cite>
( (<time>2011-08-03 23:43:34 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://greenbytes.de/tech/tc2231/">http://greenbytes.de/tech/tc2231/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <cite>Content-Disposition FireFoxとIEの挙動の違い - 開発者の談話室</cite>
( (<time>2010-07-29 15:43:38 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.agile-tech.com/blogs/dev/2007/12/contentdisposition.html">http://www.agile-tech.com/blogs/dev/2007/12/contentdisposition.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <cite xml:lang="ja">日本語ファイル名</cite>
( (<time>2012-03-11 15:30:08 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://oku.edu.mie-u.ac.jp/~okumura/php/filename.php">http://oku.edu.mie-u.ac.jp/~okumura/php/filename.php</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <cite xml:lang="en">Japanese: 日本語ファイル名をIEでダウンロードするときの文字化け対策</cite>
( (<time>2012-03-11 15:31:40 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://moodle.org/mod/forum/discuss.php?d=72567">http://moodle.org/mod/forum/discuss.php?d=72567</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <cite>日本語ファイル名の悩み (サイボウズ Office 開発ブログ)</cite>
( (<time>2008-09-10 10:02:13 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://cydn.cybozu.co.jp/office/2008/07/post_1.html">http://cydn.cybozu.co.jp/office/2008/07/post_1.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <cite>久しぶりの技術ネタ。HTTPレスポンスヘッダの<strong></strong>[<strong></strong>Content-Disposition<strong></strong>]<strong></strong>について、Safariでの日本語文字化け対策など。 - maachangの日記</cite>
( (<time>2012-03-11 15:37:35 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://d.hatena.ne.jp/maachang/20110730/1312008966">http://d.hatena.ne.jp/maachang/20110730/1312008966</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <cite>Example file</cite>
( (<time>2012-03-11 07:14:08 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://suika.fam.cx/~wakaba/test/web/http/content-disposition/non-us-ascii-filename.cgi">http://suika.fam.cx/~wakaba/test/web/http/content-disposition/non-us-ascii-filename.cgi</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <pre class="HTTP example code">Content-Disposition: attachment; filename=%E4%B8%80%E4%B8%81; filename*=utf-8<span>'</span>'%E4%B8%80%E4%B8%81</pre>... のように <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>したのを直接指定するのと、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6265</anchor> に従って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>したのを、両方指定すると、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE</anchor>
を含む全 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>でいい感じに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>してくれます。 <time>2012-03-11T08:25:10.600Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <cite>IE9以降でもHTMLフォームでファイル名とファイルの中身を外部から指定できる | 徳丸浩の日記</cite>
( (<time>2014-01-30 01:06:48 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blog.tokumaru.org/2014/01/ie9html.html">http://blog.tokumaru.org/2014/01/ie9html.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <cite xml:lang="ja">ファイルをダウンロードする ASP.NET ページで日本語ファイル名が文字化けする</cite>
( (<time>2014-10-28 06:27:37 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://support.microsoft.com/kb/436616/ja">http://support.microsoft.com/kb/436616/ja</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <cite>ダウンロードファイル名の文字化け</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSurfer</anchor> 著, <time>2014-10-28 06:29:35 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://surferonwww.info/BlogEngine/post/2011/03/20/Downloading-file-with-Japanese-file-name.aspx">http://surferonwww.info/BlogEngine/post/2011/03/20/Downloading-file-with-Japanese-file-name.aspx</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="136" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[136]</anchor-end> <cite xml:lang="en">draft-harding-ediint-filename-preservation-03 - Filename Preservation for EDIINT</cite> (<time>2014-10-17 00:24:39 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/draft-harding-ediint-filename-preservation-03">http://tools.ietf.org/html/draft-harding-ediint-filename-preservation-03</anchor-external></p></section><section><h1>RFC 6266</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 6266</anchor> 以前の多くの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2231</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 5987</anchor>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>拡張構文を実装していません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;55</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <cite xml:lang="en">RFC 6266 - Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</cite>
( (<time>2012-03-02 10:21:42 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc6266">http://tools.ietf.org/html/rfc6266</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> <cite xml:lang="en">Bug 84977 – Add Support for RFC 5987 (Non-ASCII HTTP Header Keys/Values) for filenames</cite>
( (<time>2014-10-28 13:51:41 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.webkit.org/show_bug.cgi?id=84977">https://bugs.webkit.org/show_bug.cgi?id=84977</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> <cite xml:lang="en">601933 – remove RFC 2047 encoding support for HTTP header field parameters</cite>
( (<time>2014-10-28 13:55:46 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=601933">https://bugzilla.mozilla.org/show_bug.cgi?id=601933</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> <cite xml:lang="en">610054 – Clean up RFC 2231 MIME param handling, and add support for RFC 5987 subset</cite>
( (<time>2014-10-28 13:59:09 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=610054">https://bugzilla.mozilla.org/show_bug.cgi?id=610054</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <cite xml:lang="en">Downloads and International Filenames - IEInternals - Site Home - MSDN Blogs</cite>
( (<time>2014-10-28 14:00:23 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx">http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx</anchor-external></p></section></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダウンロード</anchor>の際の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor>の決定には、
<code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の他に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor>
の <code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">download</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の値も使われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="137" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[137]</anchor-end> <cite xml:lang="en">RFC 5273 - Certificate Management over CMS (CMC): Transport Protocols</cite>
( (<time>2014-08-17 10:28:09 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc5273#section-3">http://tools.ietf.org/html/rfc5273#section-3</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="141" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[141]</anchor-end> <cite xml:lang="en">RFC 6047 - iCalendar Message-Based Interoperability Protocol (iMIP)</cite>
( (<time>2014-10-27 00:35:26 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc6047#section-2.6">https://tools.ietf.org/html/rfc6047#section-2.6</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[142]</anchor-end> <cite>HTTP::Response - search.cpan.org</cite>
(<time>2015-03-15 12:30:47 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/dist/HTTP-Message/lib/HTTP/Response.pm#%24r-%3Efilename">http://search.cpan.org/dist/HTTP-Message/lib/HTTP/Response.pm#%24r-%3Efilename</anchor-external></figcaption><blockquote><p>A &quot;Content-Disposition:&quot; header in the response. Proper decoding of RFC 2047 encoded filenames requires the MIME::QuotedPrint (for &quot;Q&quot; encoding), MIME::Base64 (for &quot;B&quot; encoding), and Encode modules.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="143" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[143]</anchor-end> <cite>HTTP::Response - search.cpan.org</cite>
(<time>2015-03-15 12:30:47 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/dist/HTTP-Message/lib/HTTP/Response.pm#%24r-%3Efilename">http://search.cpan.org/dist/HTTP-Message/lib/HTTP/Response.pm#%24r-%3Efilename</anchor-external></figcaption><blockquote><p>The filename is obtained from one the following sources (in priority order):</p><p>A &quot;Content-Disposition:&quot; header in the response. Proper decoding of RFC 2047 encoded filenames requires the MIME::QuotedPrint (for &quot;Q&quot; encoding), MIME::Base64 (for &quot;B&quot; encoding), and Encode modules.</p><p>A &quot;Content-Location:&quot; header in the response.</p><p>The URI used to request this response. This might not be the original URI that was passed to $ua-&gt;request() method, because we might have received some redirect responses first.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="144" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[144]</anchor-end> <cite xml:lang="en-US">Site Compatibility for Firefox 22 - Mozilla | MDN</cite>
(<time>2014-05-03 01:58:20 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://developer.mozilla.org/en-US/Firefox/Releases/22/Site_compatibility#RFC_2047_encoding_support_for_HTTP_header_field_parameters_has_been_removed">https://developer.mozilla.org/en-US/Firefox/Releases/22/Site_compatibility#RFC_2047_encoding_support_for_HTTP_header_field_parameters_has_been_removed</anchor-external></figcaption><blockquote><p>When decoding the filename parameter in Content-Disposition headers, Firefox had attempted to unescape using the RFC 2047 encoding. This was a bug according to the relevant specs, and implemented only on Firefox and Chrome. The RFC 2231/5987 encoding can be used instead.</p><p>Update: This change has been postponed to collect and analyze data on the usage of the RFC 2047 encoding.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="145" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[145]</anchor-end> <cite xml:lang="en">601933 – remove RFC 2047 encoding support for HTTP header field parameters</cite>
(<time>2015-05-03 19:48:09 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=601933">https://bugzilla.mozilla.org/show_bug.cgi?id=601933</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="146" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[146]</anchor-end> <cite xml:lang="en">875615 – Revert to decoding RFC 2047-encoding until we have telemetry on usage</cite>
(<time>2015-05-03 19:49:18 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=875615">https://bugzilla.mozilla.org/show_bug.cgi?id=875615</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="147" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[147]</anchor-end> <cite>Issue 41308 - chromium - Non-standard Content-Disposition headers from Outlook Web Access are not handled - An open-source project to help move the web forward. - Google Project Hosting</cite>
(<time>2015-05-03 19:51:14 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://code.google.com/p/chromium/issues/detail?id=41308">https://code.google.com/p/chromium/issues/detail?id=41308</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="148" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[148]</anchor-end> <cite xml:lang="en">651185 – double quotes aren't a legal delimiter for 2231/5987 encoding</cite>
(<time>2015-05-03 19:52:26 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=651185">https://bugzilla.mozilla.org/show_bug.cgi?id=651185</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="149" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[149]</anchor-end> <cite xml:lang="en">511521 – (CVE-2009-3376) downloading file with RTL override (RLO) presents conflicting filenames</cite>
(<time>2015-05-07 20:29:20 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=511521">https://bugzilla.mozilla.org/show_bug.cgi?id=511521</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="150" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[150]</anchor-end> <cite>Issue 72935 - chromium - Chrome saves Excel files as &quot;Main.aspx&quot; in text mode instead of an actual Excel file - An open-source project to help move the web forward. - Google Project Hosting</cite>
(<time>2015-05-10 22:53:46 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://code.google.com/p/chromium/issues/detail?id=72935">https://code.google.com/p/chromium/issues/detail?id=72935</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="174" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[174]</anchor-end> <cite xml:lang="en">Fix #25: bring back FormData's append()'s filename argument · whatwg/xhr@b0ec31e</cite>
(<time>2015-12-16 12:29:43 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/xhr/commit/b0ec31ea3f70b1c465ae54d6d5dcd2acde833ea9">https://github.com/whatwg/xhr/commit/b0ec31ea3f70b1c465ae54d6d5dcd2acde833ea9</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="175" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[175]</anchor-end> <cite xml:lang="en">Fix #48: align with HTML's form submission algorithm · whatwg/xhr@7b1941f</cite>
(<time>2016-01-22 23:25:43 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/xhr/commit/7b1941fbd5347433734a491c36ef8ea6485e7dfb">https://github.com/whatwg/xhr/commit/7b1941fbd5347433734a491c36ef8ea6485e7dfb</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="176" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[176]</anchor-end> <cite xml:lang="ja">S3のContent-Dispositionのブラウザ対応について調査してみた - Innovator Japan Engineers’ Blog</cite>
(<time>2016-10-13 18:34:25 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tech.innovator.jp.net/entry/s3-content-disposition">http://tech.innovator.jp.net/entry/s3-content-disposition</anchor-external></figcaption><blockquote><p>RFC 5987 が各最新ブラウザで問題なくファイル名指定ダウンロードができることが分かりました。エンコード方法によっては400エラーになってしまったり、ファイル名が正しく指定できなかったりとサポートしていないことが分かります。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="177" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[177]</anchor-end> <cite xml:lang="en">Clarify package data algorithm for FormData</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">eehakkin</anchor>著, <time>2016-12-17 01:36:13 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/e03ee6fc7f6234005a058d9784e95861b9a0a301">https://github.com/whatwg/fetch/commit/e03ee6fc7f6234005a058d9784e95861b9a0a301</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="178" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[178]</anchor-end> <cite xml:lang="en">Use USVString rather than <strong>[</strong>EnsureUTF16<strong>]</strong> for fileName.</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mkruisselbrink</anchor>著, <time>2017-02-04 07:25:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/FileAPI/commit/abf6637473a9c81247fce46ef0a2954be95908f1">https://github.com/w3c/FileAPI/commit/abf6637473a9c81247fce46ef0a2954be95908f1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="181" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[181]</anchor-end> <cite xml:lang="en">69939 - Filename surrounded by hyphens in a download - chromium - Monorail</cite>
( (<time>2017-08-11 02:55:01 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=69939">https://bugs.chromium.org/p/chromium/issues/detail?id=69939</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[182]</anchor-end> <code>Minio</code> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を <code>POST</code> 時のチェックに使っているようで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>だとファイル未指定のエラーにします。
<time>2017-11-07T06:10:59.600Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="189" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[189]</anchor-end> <cite xml:lang="en">File names in application/x-www-form-urlencoded serializer · Issue #109 · whatwg/url</cite>
(<time>2016-12-29 16:07:39 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/url/issues/109">https://github.com/whatwg/url/issues/109</anchor-external></p></section></body></html>