HTTP标题行中断样式

问题描述 投票:147回答:3

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

http line-breaks
3个回答
201
投票

\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


21
投票

\ r \ n因为RFC 2616这样说(第2.2节“基本规则”):

HTTP / 1.1将序列CR LF定义为所有的行尾标记 除实体主体外的协议要素(见附录19.3) 宽容的申请)。实体主体中的行尾标记由其关联的媒体类型定义,如3.7节所述。

   CRLF           = CR LF

12
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.