Java 如何重用httpclient连接来获取多个小文件

Java 如何重用httpclient连接来获取多个小文件,java,apache-commons-httpclient,Java,Apache Commons Httpclient,我正在使用httpclient从服务器上连续下载多个小文件。因此,我希望重用httpclient连接,以避免花费大量时间来分配新连接 我已经有一些客户端代码尝试重用连接,并将现有连接的空闲超时设置为3分钟 但是,来自服务器的响应始终包含连接:close[\r][\n],httpclient库在连接遇到此类标头后立即释放连接 如何让httpclient忽略来自服务器的响应,或者我发布的哪个头可以让服务器不再返回这样的关闭头?即使您设法忽略连接:关闭头,我认为违反该指令也不是一个好主意 RFC说 H

我正在使用httpclient从服务器上连续下载多个小文件。因此,我希望重用httpclient连接,以避免花费大量时间来分配新连接

我已经有一些客户端代码尝试重用连接,并将现有连接的空闲超时设置为3分钟

但是,来自服务器的响应始终包含连接:close[\r][\n],httpclient库在连接遇到此类标头后立即释放连接

如何让httpclient忽略来自服务器的响应,或者我发布的哪个头可以让服务器不再返回这样的关闭头?

即使您设法忽略连接:关闭头,我认为违反该指令也不是一个好主意

RFC说

HTTP/1.1为发送方定义了关闭连接选项 发出信号,表示连接将在连接完成后关闭 回答比如说,

   Connection: close
在请求或响应标头字段中,指示 在第8.1节之后,连接不应被视为“持久性” 当前请求/响应已完成


您需要在HTTP请求中添加一个keep-alive头


您的意思是由服务器决定吗?没有办法在客户端调整它?我不这么认为,但这离我的领域很远,真的谢谢你的链接。然而,httpclient表示它默认启用。服务器仍然返回close指令。