java.net.SocketException:连接重置,大 HTTP headers

java.net.SocketException: Connection reset, large HTTP headers

我正在使用 org.apache.http.impl.client.CloseableHttpClient 发送请求。每当 header 之一的大小很大(大约 103452 字节)时,我得到一个:

java.net.SocketException:连接重置

服务器可能没有重置连接,因为来自其他 java 应用程序的其他客户端(可能使用 spring OAUTH/REST 客户端)似乎能够使用服务同时发送同样大的 headers.

尽管正确的解决方法是首先避免发送如此大的 header,但是否有 org.apache.http.impl.client.CloseableHttpClient 的配置可以防止它在发送大 [=] 时崩溃29=]s?

客户端构建有:

HttpClientBuilder.create().useSystemProperties().build()

您如何确定服务器没有拒绝请求?

HTTP 规范没有施加限制,我不认为 Apache 客户端在其默认配置中施加了限制。

但是,Web 服务器确实...有关详细信息,请参阅 Maximum on http header values?。请注意,网络服务器施加的限制是针对所有 header 的组合大小,而不是单个 header.