Um cliente TCP pode terminar de enviar um pedido e fechar o seu lado de escrita enquanto continua à espera da resposta. A política do Squid para esse estado é importante ao comparar um pequeno teste TCP em bruto com um cliente HTTP.

Para o Squid 7, o valor predefinido documentado é:

half_closed_clients off

Com essa política, o Squid fecha a ligação do cliente quando uma leitura indica que já não chegam dados. Com a opção ativada, pode manter a ligação até que a leitura ou a escrita encontre um erro. A documentação recomenda a política off predefinida para o funcionamento normal de um proxy direto.

Registe quando o cliente de teste sinaliza o fim da entrada. Uma pipeline que atinge EOF no stdin pode comportar-se de forma diferente de um cliente que mantém o seu lado de envio aberto enquanto lê a resposta, mesmo quando ambos enviaram os mesmos bytes de pedido HTTP.

Se o cliente de teste terminar por completo, não pode ler uma resposta que chegue depois. Uma definição de meia-fechadura do lado do servidor não pode alterar a vida desse processo cliente.

Escolha o comportamento de EOF do cliente e a política do proxy em conjunto para o teste pretendido. A política de meia-fechadura também pressupõe uma mensagem HTTP com enquadramento válido; não fornece um corpo de pedido em falta nem repara um bloco de cabeçalhos incompleto.

Artigos relacionados