HTTP标题行中断样式

时间:2011-04-22 15:58:48

标签: http line-breaks

哪种换行符样式最适合在HTTP标题中使用:\r\n\n,为什么?

3 个答案:

答案 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