默认情况下,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默认值。分块编码中的内容长度没有多大意义