HTTPヘッダーでの使用に適した改行スタイル:\r\n
または\n
、およびその理由
\r\n
。これは、プロトコル仕様で改行として定義されているためです。 RFC2616は、セクション2.2(基本ルール(!))の冒頭で、非常に明確に述べています :
CR = <US-ASCII CR、キャリッジリターン(13)>
LF = <US-ASCII LF、改行(10)>
HTTP/1.1は、エンティティボディを除くすべてのプロトコル要素の行末マーカーとしてシーケンスCR LFを定義します
ただし、人々が何らかの目的で標準を破ることを認識すると、 セクション19. に「許容条項」があります(correctシーケンス):
メッセージヘッダーフィールドの行末記号は、CRLFシーケンスです。ただし、このようなヘッダーを解析する場合、アプリケーションは単一のLFを行終端記号として認識し、先頭のCRを無視することをお勧めします。
したがって、悪になりたくない、またはRFCの規則に違反しない限り、\r\n
を使用してください。
\ r\n RFC 2616がそう述べているため(セクション2.2、「基本規則」):
HTTP/1.1は、すべての行末マーカーとしてシーケンスCR LFを定義します
entity-bodyを除くプロトコル要素(付録19.3を参照
トレラントアプリケーション)。エンティティ本体内の行末マーカーは、セクション3.7で説明されているように、関連するメディアタイプによって定義されます。CRLF = CR LF
ブラウザが RFC2616 に従うため、CRLF( "\ r\n")。