与 text/plain ContentType 一起使用的正确换行符是什么?

What is the correct newline to use with text/plain ContentType?

当网络服务器在 HTTP 响应中声明 ContentType:text/plain 时,客户端是否可以假定换行符是“\n”或“\r\n”,或者其他内容,还是应该允许两者?

规定了哪些标准?我在标准中迷失和困惑。 RFC 2046 似乎定义了 'plain' 子类型,但这里指的是 RFC 822.

我浏览了 RFC 822,但我很困惑它是否明确不允许(在邮件正文中)使用 CRLF (\r\n),或者 CRLF 是否应该隐式允许,因为任何 ASCII空行后的字符是否合法?

RFC 5322 定义了 'internet message format',我不确定它是否适用于 HTTP(它似乎适用于电子邮件),但它特别指出了您应该在邮件正文中看到的唯一 CR 或 LF 是CRLF 组合..?

RFC 2046 第 4.1.1 节说:

"The canonical form of any MIME "text" 子类型必须始终将换行符表示为 CRLF 序列。类似地,在 MIME "text" 中出现的任何 CRLF 都必须代表换行符。在也禁止换行序列。"

老实说,如果您将其用于解析或显示目的,我不会依赖它。大多数网络服务器将从文件扩展名设置内容类型,因此任何具有 .txt 扩展名的 Unixy 文件都将获得 text/plain 内容类型(就上述段落而言是非法的)。