जवाबों:
\r\n
, क्योंकि यह प्रोटोकॉल विनिर्देश में लाइन ब्रेक के रूप में परिभाषित किया गया है। RFC2616 धारा 2.2 की शुरुआत में कहता है, "बेसिक रूल्स" , काफी स्पष्ट रूप से:
CR = <US-ASCII CR, कैरिज रिटर्न (13)>
LF = <US-ASCII LF, लाइनफीड (10)>
HTTP / 1.1 अनुक्रम को परिभाषित करता है CR LF, इकाई को छोड़कर सभी प्रोटोकॉल के लिए लाइन के अंत मार्कर के रूप में -तन
RFC2616 को RFC7230 द्वारा तकनीकी रूप से पालन किया गया था, लेकिन यह कोई कठोर बदलाव नहीं करता है और फिर से CRLF को धारा 3 में परिसीमन के रूप में बताता है, और यह कि RFC RFC5234, परिशिष्ट B.1 को "CRLF" के रूप में परिभाषित करता है %x0D %x0A
।
हालांकि, यह मानते हुए कि लोग जो भी उद्देश्यों के लिए मानक को तोड़ेंगे, धारा 19.3 में "सहिष्णुता प्रावधान" है (ध्यान दें कि यह सही अनुक्रम पुन: प्रसारित करता है ):
संदेश-हेडर फ़ील्ड के लिए लाइन टर्मिनेटर अनुक्रम CRLF है। हालांकि, हम अनुशंसा करते हैं कि ऐसे हेडर्स को पार्स करते समय, एक एलएफ को एक लाइन टर्मिनेटर के रूप में पहचाने और प्रमुख सीआर को अनदेखा करें।
यद्यपि स्टार्ट-लाइन और हेडर फ़ील्ड के लिए लाइन टर्मिनेटर अनुक्रम CRLF है, एक प्राप्तकर्ता MAY एक LF को लाइन टर्मिनेटर के रूप में पहचानता है और किसी भी पूर्ववर्ती सीआर को अनदेखा करता है।
इसलिए, जब तक आप ईविल बनना चाहते हैं या अन्यथा आरएफसी के नियमों को तोड़ते हैं, उपयोग करें \r\n
।
आरएफसी 2616 ऐसा कहता है (धारा 2.2, "मूल नियम"):
HTTP / 1.1 अनुक्रम CR LF को
इकाई-निकाय को छोड़कर सभी प्रोटोकॉल तत्वों के लिए अंत-लाइन के रूप में परिभाषित करता है (
सहिष्णु अनुप्रयोगों के लिए परिशिष्ट 19.3 देखें )। इकाई-निकाय के भीतर का अंत-रेखा मार्कर इसके संबंधित मीडिया प्रकार द्वारा परिभाषित किया गया है, जैसा कि खंड 3.7 में वर्णित है।CRLF = CR LF