默认情况下,HTTP/1.1请求是否隐式保持活动状态?
已解决:将字节粘贴到此处使我意识到块之间缺少空行默认情况下,HTTP/1.1请求是否隐式保持活动状态?,http,Http,已解决:将字节粘贴到此处使我意识到块之间缺少空行 HTTP/1.1请求是否需要指定一个连接:keep-alive头,或者默认情况下它总是keep-alive 让我觉得会的;当我的http服务器收到1.1请求时,它将保持活动状态,除非显式接收到连接:close头 我问,因为我的客户对ab和httperf的不同行为感到非常愤怒,以至于我怀疑自己在这件事上是否理智 以下是httperf--hog--42042端口--print reply body发送的内容: GET / HTTP/1.1 Use
HTTP/1.1请求是否需要指定一个
连接:keep-alive
头,或者默认情况下它总是keep-alive
让我觉得会的;当我的http服务器收到1.1请求时,它将保持活动状态,除非显式接收到连接:close
头
我问,因为我的客户对ab
和httperf
的不同行为感到非常愤怒,以至于我怀疑自己在这件事上是否理智
以下是
httperf--hog--42042端口--print reply body
发送的内容:
GET / HTTP/1.1
User-Agent: httperf/0.9.0
Host: localhost
下面是我的服务器的响应:
HTTP/1.1 200 OK
Connection: keep-alive
Transfer-Encoding: chunked
Content-Length: 18
12
Hello World 1
0
httpref
立即打印出响应,但只是坐在那里,任何一方都没有关闭连接,httpref
没有退出
我的bug在哪里?来自:
HTTP/1.1和早期版本的HTTP之间的一个显著区别是,持久连接是任何HTTP连接的默认行为。也就是说,除非另有说明,否则客户端应该假设服务器将保持持久连接,即使在服务器做出错误响应之后也是如此
是的,keep alive是HTTP/1.1默认值。分块编码中的内容长度没有多大意义