18
如何在HTTP中编码Content-Disposition标头的filename参数?
想要强制下载资源而不是直接在Web浏览器中呈现的 Web应用程序Content-Disposition在以下形式的HTTP响应中发出标头: Content-Disposition: attachment; filename=FILENAME 该filename参数可用于建议浏览器将资源下载到其中的文件的名称。但是,RFC 2183(内容处置)在第2.3节(文件名参数)中指出,文件名只能使用US-ASCII字符: 当前的[RFC 2045]语法将参数值(以及因此的Content-Disposition文件名)限制为US-ASCII。我们认识到允许在文件名中使用任意字符集的强烈愿望,但是定义必要的机制超出了本文档的范围。 但是,有经验证据表明,当今大多数流行的Web浏览器似乎都允许使用非US-ASCII字符,但是(由于缺乏标准)在文件名的编码方案和字符集规范上存在分歧。那么问题是,如果文件名“naïvefile”(不带引号,并且第三个字母为U + 00EF)需要编码到Content-Disposition标头中,那么流行的浏览器采用了哪些不同的方案和编码? 出于这个问题的目的,流行的浏览器是: 火狐浏览器 IE浏览器 苹果浏览器 谷歌浏览器 歌剧