为什么 apache httpclient 连接池中的过时连接检查不是 100% 可靠

Bhu*_*van 3 java tcp apache-httpcomponents apache-httpclient-4.x

2.5. Connection eviction policy在 httpclient 的文档 连接管理文档部分中提到

HttpClient 尝试通过测试连接是否“过时”来缓解该问题,该连接在使用连接执行 HTTP 请求之前已在服务器端关闭,因此不再有效。过时连接检查并非 100% 可靠。

我只是想知道为什么无法可靠地检查过时的连接?什么逻辑/TCP 构造不允许它可靠地发生?

ok2*_*k2c 7

这是微不足道的。在成功的过时检查和请求执行之间始终存在一个时间窗口(无论多么小),在该时间窗口中,对端端点可以关闭其一端的连接并使客户端上的连接过时。