只是想知道,这是一个有效的http请求,请在实际请求标头之前记下前导空白行“\ r \ n”。
\r\n\r\nGET / HTTP/1.0\r\n\r\n
虽然它可以与所有服务器(apache,lighttpd,nginx)一起使用,但RFC并不强制要求任何有关前导空行的内容并将其留给实现。
由于
答案 0 :(得分:0)
因此标准规定每个新行应以\r\n
结尾,每个请求都应以\r\n\r\n
What, at the bare minimum, is required for an HTTP request?
但是大多数服务器都会处理大多数类型的领先新行
printf '\rGET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n' |
nc www.example.com 80
printf '\r\nGET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n' |
nc www.example.com 80
printf '\r\r\nGET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n' |
nc www.example.com 80
printf '\n\rGET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: close\r\n\r\n' |
nc www.example.com 80
关于是否有效,网上很多东西都是100%符合RFC标准。你也可以看到
https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
因此,空间会在开始时产生问题,但许多服务器会删除前导空白的新行