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

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

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

1
Bhuvan 16 Апр 2020 в 13:03

1 ответ

Лучший ответ

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

2
ok2c 21 Апр 2020 в 15:08