TCP-клієнт може завершити надсилання запиту і закрити свою сторону запису, продовжуючи чекати відповідь. Політика Squid для цього стану важлива, коли порівнюють невеликий сирий TCP-тест із HTTP-клієнтом.

Для Squid 7 документоване значення за замовчуванням:

half_closed_clients off

З цією політикою Squid закриває клієнтське з'єднання, коли читання повідомляє, що вхідних даних більше немає. Якщо опцію ввімкнено, він може тримати з'єднання, доки читання або запис не натрапить на помилку. Документація рекомендує політику off за замовчуванням для звичайної роботи прямого проксі.

Зафіксуйте, коли тестовий клієнт сигналізує кінець введення. Конвеєр, що досягає EOF на stdin, може поводитися інакше, ніж клієнт, який тримає свою сторону надсилання відкритою, читаючи відповідь, навіть якщо обидва надіслали ті самі байти HTTP-запиту.

Якщо тестовий клієнт завершується повністю, він не може прочитати відповідь, що надійде пізніше. Налаштування половинного закриття на боці сервера не може змінити час життя цього клієнтського процесу.

Виберіть поведінку клієнта при EOF і політику проксі разом для задуманого тесту. Політика половинного закриття також припускає HTTP-повідомлення з коректним кадруванням; вона не надає відсутнє тіло запиту і не виправляє неповний блок заголовків.

Схожі статті