哪种换行符样式最适合在HTTP标题中使用:\r\n
或\n
,为什么?
答案 0 :(得分:202)
\r\n
,因为它被定义为协议规范中的换行符。 RFC2616 states at the beginning of Section 2.2 (Basic Rules (!)), quite unambiguously:
CR =< US-ASCII CR,回车(13)>
之外的所有协议元素的行尾标记
LF =< US-ASCII LF,换行(10)>
HTTP / 1.1将序列CR LF定义为除entity-body
但是,认识到人们会出于任何目的打破标准,Section 19.3中有一个“容忍条款”(请注意,它会重新迭代正确的序列):
消息头字段的行终止符是序列CRLF。但是,我们建议应用程序在解析此类标头时,将单个LF识别为行终止符并忽略前导CR。
因此,除非您想成为Evil或以其他方式违反RFC的规则,否则请使用\r\n
。
答案 1 :(得分:21)
\ r \ n因为RFC 2616这样说(第2.2节“基本规则”):
HTTP / 1.1定义了序列CR LF 作为所有的终点标记 协议元素除了 实体 - 体(见附录19.3) 宽容的申请)。该 一个内的行尾标记 entity-body由其定义 相关媒体类型,如中所述 第3.7节。
CRLF = CR LF
答案 2 :(得分:12)
CRLF(“\ r \ n”),因为浏览器会关注RFC2616。