当网络服务器声称ContentType:HTTP响应中的text / plain时,客户端可以假设换行符是' \ n'或者' \ r \ n&n;等等,或者应该是它允许两个?
有哪些标准规定?我在标准中迷茫和困惑。 RFC 2046似乎定义了' plain'子类型,但指的是RFC 822。
我已经浏览了RFC 822,但我很困惑是否明确禁止CRLF(\ r \ n)(在邮件正文中),或者是否应该隐式允许CRLF,因为任何空行后ASCII字符是否合法?
RFC 5322定义了互联网消息格式'而且我不确定这是否适用于HTTP(它似乎适用于电子邮件),但它具体说明你应该看到的消息体中的唯一CR或LF是CRLF组合..?
答案 0 :(得分:5)
RFC 2046第4.1.1节说:
"任何MIME"文本"的规范形式子类型必须始终将换行符表示为CRLF序列。同样,在MIME" text"中出现任何CRLF。必须代表换行符。在断行序列之外使用CR和LF也是禁止的。"
说实话,如果您将其用于解析或显示目的,我将不会依赖它。大多数Web服务器将从文件扩展名设置内容类型,因此任何扩展名为.txt的Unixy文件都将获得text / plain内容类型(非法,就上述段落而言)。