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

发布于 2024-11-30 18:33:45 字数 260 浏览 1 评论 0原文

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

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

然而,服务器的响应总是包含“Connection: close[\r][\n]”,httpclient 库在遇到此类标头后立即释放连接。

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

I'm using httpclient to download multiple small files from server continuously. So I want to reuse the httpclient connection to avoid costing a lot of time to allocate new connection.

And I already have some client code to try to reuse the connection, and set the idle timeout of existing connection to 3 minutes.

However the response from server always contains "Connection: close[\r][\n]", httpclient library releases the connection immediately after it meets such header.

How do I do to let httpclient to ignore the response from server, or which header I post could let server no longer return such closing header?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤单情人 2024-12-07 18:33:45

即使您设法忽略 Connection: close 标头,我也不认为“违反”该指令是一个好主意。

RFC 表示以下内容

HTTP/1.1 定义了发送方的“关闭”连接选项
表示连接完成后将关闭
回复。例如,

 连接:关闭

在请求或响应标头字段中表示
连接不应被视为“持久”(第 8.1 节)
当前请求/响应已完成。

Even if you manage to ignore the Connection: close header, I don't think it would be a good idea "violate" the directive.

The RFC says the following

HTTP/1.1 defines the "close" connection option for the sender to
signal that the connection will be closed after completion of the
response. For example,

   Connection: close

in either the request or the response header fields indicates that the
connection SHOULD NOT be considered `persistent' (section 8.1) after
the current request/response is complete.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文