Character encoding 什么';这是\r\n和\r\n之间的区别

Character encoding 什么';这是\r\n和\r\n之间的区别,character-encoding,control-characters,Character Encoding,Control Characters,在候机楼里,这两者似乎没有什么区别 echo-en'first\r\n second'和echo-en'first\n\second' 但是在没有\r的代码中,它不起作用 echo -en 'GET /test HTTP/1.1\r\nHost: localhost\r\n\r\n' | nc localhost 9292 有效,但是 echo -en 'GET /test HTTP/1.1\r\nHost: localhost\n\n' | nc localhost 9292 没有 任

在候机楼里,这两者似乎没有什么区别

echo-en'first\r\n second'
echo-en'first\n\second'

但是在没有\r的代码中,它不起作用

echo -en 'GET /test HTTP/1.1\r\nHost: localhost\r\n\r\n' | nc localhost 9292 
有效,但是

echo -en 'GET /test HTTP/1.1\r\nHost: localhost\n\n' | nc localhost 9292 
没有


任何人都可以解释为什么会这样?

一些应用程序可以将\r\n(也称为CRLF,回车换行符)和\n(也称为LF,换行符)等同地处理为换行符序列。您的终端就是一个例子

指示HTTP头行始终以CRLF结尾。因此,遵守规范的HTTP服务器(例如您在localhost:9292上运行的服务器)不会将LF本身解释为有效的HTTP头行终止序列。

请参阅