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

Tim*_*ith 6 content-type newline http

当一个网络服务器声称ContentType:HTTP响应中的text/plain时,客户端可以假设换行符是'\n',或者'\ r \n',还是其他东西,或者它应该允许两者?

标准指定了什么?我在标准中迷茫和困惑.RFC 2046似乎定义了"普通"子类型,但是引用了RFC 822.

我已经浏览了RFC 822但是我很困惑它是否明确表示不允许CRLF(\ r \n)(在消息体中),或者是否应该隐式允许CRLF,因为任何ASCII字符在空白后都是合法的线?

RFC 5322定义了'互联网消息格式',我不确定这是否适用于HTTP(它似乎适用于电子邮件),但它具体说明你应该看到的消息体中的唯一CR或LF是CRLF组合. ?

Ewa*_*lor 5

RFC 2046第4.1.1节说:

"任何MIME"text"子类型的规范形式必须始终将换行符表示为CRLF序列.同样,MIME"text"中出现的任何CRLF必须表示换行符.在换行符序列之外使用CR和LF是也被禁止了."

说实话,如果你使用它进行解析或显示,我不会依赖它.大多数Web服务器将从文件扩展名设置内容类型,因此任何扩展名为.txt的Unixy文件都将获得text/plain内容类型(非法,就上述段落而言).