Ответ 1
\r\n
, поскольку он определен как разрыв строки в спецификации протокола. RFC2616 заявляет в начале раздела 2.2 (Основные правила (!)) довольно однозначно:
CR = < US-ASCII CR, возврат каретки (13) >
LF = < US-ASCII LF, линейная подача (10) >
HTTP/1.1 определяет последовательность CR LF как маркер конца строки для всех элементов протокола, за исключением тела объекта
Однако, признавая, что люди нарушают стандарт для любых целей, в разделе раздела 19.3 имеется "допущение о допуске" (обратите внимание, что он повторяет правильную последовательность ):
Терминатор строки для полей заголовка сообщения представляет собой последовательность CRLF. Тем не менее, мы рекомендуем, чтобы при анализе таких заголовков приложения распознавали один LF в качестве ограничителя строк и игнорировали ведущий CR.
Поэтому, если вы не хотите быть злым или иным образом нарушать правила RFC, используйте \r\n
.