Jawaban:
\r\n
, karena itu didefinisikan sebagai garis istirahat dalam spesifikasi protokol. RFC2616 menyatakan di awal bagian 2.2, "Aturan Dasar" , cukup jelas:
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
HTTP / 1.1 mendefinisikan urutan CR LF sebagai penanda garis akhir untuk semua elemen protokol kecuali entitas -tubuh
RFC2616 secara teknis sudah usang oleh RFC7230, tetapi tidak membuat perubahan drastis dan lagi-lagi menyebut CRLF sebagai pembatas di bagian 3 , dan referensi RFC RFC5234, Lampiran B.1 untuk mendefinisikan "CRLF" sebagai %x0D %x0A
.
Namun, mengakui bahwa orang akan melanggar standar untuk tujuan apa pun, ada "ketentuan toleransi" di bagian 19.3 (perhatikan bahwa itu mengulangi urutan yang benar ):
Terminator baris untuk bidang header pesan adalah urutan CRLF. Namun, kami merekomendasikan bahwa aplikasi, ketika mengurai header tersebut, mengenali LF tunggal sebagai terminator garis dan mengabaikan CR terkemuka.
Dalam RFC7230 yang lebih baru , § 3.5
Meskipun terminator garis untuk bidang mulai-baris dan header adalah urutan CRLF, penerima MUNGKIN mengenali LF tunggal sebagai terminator garis dan mengabaikan CR sebelumnya.
Oleh karena itu, kecuali Anda ingin menjadi Jahat atau melanggar aturan RFC, gunakan \r\n
.
\ r \ n karena RFC 2616 mengatakan demikian (Bagian 2.2, "Aturan Dasar"):
HTTP / 1.1 mendefinisikan urutan CR LF sebagai penanda end-of-line untuk semua
elemen protokol kecuali entitas-badan (lihat lampiran 19.3 untuk
aplikasi toleran). Penanda garis-akhir dalam entitas-badan ditentukan oleh jenis media yang terkait, seperti yang dijelaskan dalam bagian 3.7.CRLF = CR LF
CRLF ("\ r \ n"), karena browser mengikuti RFC2616 .