HTTP标题行中断样式

哪个换行符更适合在HTTP头文件中使用:'\ r \ n'或'\ n',为什么?

\r\n ,因为它被定义为协议规范中的换行符。 在第2.2节(基本规则(!))的开头部分,RFC2616表述得非常清楚 :

CR = <US-ASCII CR,回车(13)>
LF = <US-ASCII LF,换行符(10)>
HTTP / 1.1将序列CR LF定义为除实体主体之外的所有协议元素的行尾标记

但是,认识到人们会为了任何目的而打破标准, 第19.3节中就有一个“宽容条款”(注意它重复了正确的顺序):

消息头字段的行终止符是序列CRLF。 但是,我们build议应用程序在parsing这些头文件时将一个LF识别为一个行终止符,并忽略前导CR。

因此,除非你想成为恶魔或以其他方式破坏RFC的规则,否则使用\r\n

因为RFC 2616是这样说的(第2.2节“基本规则”):

HTTP / 1.1将序列CR LF定义为所有的行尾标记
协议元素除实体之外(见附录19.3)
宽容的应用程序)。 实体主体内的行尾标记由其关联的媒体types定义,如3.7节所述。

  CRLF = CR LF 

CRLF(“\ r \ n”),因为浏览器遵循RFC2616 。