Почему устаревшая проверка соединения не на 100% надежна в apache httpclient connectionPool - PullRequest
1 голос
/ 16 апреля 2020

В разделе 2.5. Connection eviction policy документации управления подключением выполните c для httpclient, где упоминается, что

HttpClient пытается устранить проблему, проверяя, устарело ли соединение ', это больше не является допустимым, поскольку оно было закрыто на стороне сервера до использования соединения для выполнения HTTP-запроса. Проверка устаревшего соединения не на 100% надежна.

Мне просто интересно, почему устаревшее соединение нельзя надежно проверить? Какая логическая / TCP-конструкция не позволяет этому произойти надежно?

1 Ответ

2 голосов
/ 21 апреля 2020

Это тривиально. Между успешной проверкой ставки и выполнением запроса всегда есть промежуток времени, в котором противоположная конечная точка может закрыть соединение на своем конце и сделать соединение устаревшим на стороне клиента.

...