日本語ファイル名をHTTPで転送する手法を調査してみた

趣味で作成しているCGIでサーバ上に一時的に置いたファイルを
日本語名でDL出来るようにする必要があったため、色々と調べてみた。


結果、どうやらHTTPヘッダに

Content-type: application/octet-stream
Content-Disposition: inline; filename="日本語名(sjisエンコードしておく)"
Content-length: 転送するファイルサイズ

と記述してファイルを送り出してやればよいらしい。
……とはいえ、ブラウザによって文字コードによるファイル名の解釈にずれがあるようなので
一概にSJIS一本でよいというわけではないようだ。
例えばfirefoxではUTF-8の方がよいという情報も目にした……とりあえず当方の環境では
IEとfirefoxで動作が確認できたが、やっぱりUAを取得してきて
最適とされている文字コードエンコードした方がよいのかな?