持久连接根本不起作用

时间:2015-05-17 12:34:06

标签: html http tcp scapy keep-alive

我正在制作一个scapy的网络服务器,这很顺利。然而,同时保持不同连接的scapy是一种痛苦。所以我希望客户端与服务于带有图像的html页面的web服务器建立持久连接。

我让客户成功完成tcp握手并获取html页面然而,它会打开一个新连接来下载图像。我做的想要。

我了解在HTTP/1.1中,没有必要发送keep-alive标头,因为它是默认标头。为什么 Chrome Firefox 仍会打开更多连接来下载单独的文件?

我没有发送Connection: close标题,所以我认为他们没有为网页上的所有文件保持相同的连接,这很奇怪。

编辑:尝试使用实际的Keep-Alive: timeout=n, max = n标头。仍然没有结果。

可能是什么问题?随意询问详情!

1 个答案:

答案 0 :(得分:1)

持久连接不禁止使用并行连接,它们只允许为更多请求重用相同的连接。但是,对于持久连接,您只能在同一个连接中依次执行多个请求。这意味着为了获得大量资源,通常可以更快地并行打开多个连接,并使用这些连接中的每一个来获得多个资源,例如:使用4个并行连接获得12个图像(每个连接3个图像)比使用单个连接一个接一个地获取所有12个图像更快。