想要强制浏览器下载资源而不是直接在Web浏览器中呈现的Web应用程序,在HTTP响应中发出一个形式为:
Content-Disposition: attachment; filename=文件名
的Content-Disposition
标头。 filename
参数可用于建议浏览器下载资源时使用的文件名称。然而RFC 2183(Content-Disposition)在section 2.3(The Filename Parameter)中指出,文件名只能使用US-ASCII字符:
当前[RFC 2045]语法约束 参数值(因此也就限制了 Content-Disposition文件名)为 US-ASCII。我们认识到允许文件名中使用任意字符集的优越性,但是本文档无法定义必要的机制。
尽管如此,有经验的证据表明,大多数流行的Web浏览器似乎仍允许使用非US-ASCII字符(由于缺乏标准),但它们对文件名的编码方案和字符集规范存在争议。问题是,如果需要将文件名“naïvefile”(不带引号,并且第三个字母为U +00EF)编码到Content-Disposition头中,则流行浏览器使用的各种方案和编码是什么?
对于这个问题,所谓流行的浏览器是:
- 谷歌浏览器
- 苹果Safari浏览器
- 微软Internet Explorer或Edge浏览器
- 火狐浏览器
- 欧朋浏览器
Content-Disposition: attachment
。 - Antti Haapala -- Слава Україні