Een TCP-client kan klaar zijn met het versturen van een verzoek en zijn schrijfzijde sluiten terwijl hij op het antwoord blijft wachten. Het beleid van Squid voor die toestand is belangrijk wanneer je een kleine ruwe TCP-test met een HTTP-client vergelijkt.

Voor Squid 7 is de gedocumenteerde standaard:

half_closed_clients off

Met dat beleid sluit Squid een clientverbinding wanneer een leesbewerking meldt dat er geen inkomende gegevens meer zijn. Met de optie ingeschakeld kan hij de verbinding vasthouden tot lezen of schrijven een fout tegenkomt. De documentatie raadt het standaardbeleid off aan voor normaal forward-proxygebruik.

Leg vast wanneer de testclient het einde van de invoer aangeeft. Een pijplijn die stdin EOF bereikt, kan zich anders gedragen dan een client die zijn verzendzijde openhoudt terwijl hij het antwoord leest, zelfs wanneer beide dezelfde HTTP-verzoekbytes hebben verzonden.

Als de testclient volledig stopt, kan hij een antwoord dat daarna aankomt niet lezen. Een halfsluitingsinstelling aan de serverkant kan de levensduur van dat clientproces niet veranderen.

Kies het EOF-gedrag van de client en het beleid van de proxy samen voor de beoogde test. Het halfsluitingsbeleid veronderstelt ook een HTTP-bericht met geldige framing; het levert geen ontbrekend verzoeklichaam en repareert geen onvolledig headerblok.

Gerelateerde artikelen