猿问

如何在HTTP中对内容配置标头的文件名参数进行编码?

如何在HTTP中对内容配置标头的文件名参数进行编码?

希望强制资源成为下载而不是直接渲染在Web浏览器中,发出Content-Disposition表单的HTTP响应中的标头:

Content-Disposition: attachment; filename=FILENAME

这个filename参数可用于建议浏览器下载资源的文件的名称。RFC 2183(内容处理)然而,在第2.3节文件名只能使用US-ASCII字符的文件名参数:

当前[rfc 2045]语法将参数值(因此是内容配置文件名)限制为US-ASCII。我们认识到在文件名中允许任意字符集是非常可取的,但是定义必要的机制超出了本文档的范围。

然而,有经验性的证据表明,今天大多数流行的Web浏览器似乎允许非US-ASCII字符,但是(由于缺乏标准)在文件名的编码方案和字符集规范上存在分歧。问题是,如果文件名“naivefile”(没有引号,第三个字母为U+00EF)需要编码到内容处理头中,那么流行的浏览器所使用的各种方案和编码是什么?

为了这个问题,流行浏览器存在:

  • 火狐
  • Internet资源管理器
  • 狩猎
  • 谷歌Chrome
  • 歌剧


拉丁的传说
浏览 869回答 4
4回答

喵喵时光机

建议中讨论了这一点,包括浏览器测试和向后兼容性的链接。RFC 5987“超文本传输协议(HTTP)头字段参数的字符集和语言编码”。RFC 2183指示此类标头应根据RFC 2184,已被淘汰RFC 2231,由上述草案所涵盖。
随时随地看视频慕课网APP
我要回答