Conservar um handle cURL pode permitir que transferências posteriores reutilizem conexões compatíveis em cache. Porém, não pode obrigar um proxy a manter uma conexão TCP aberta indefinidamente.

A outra parte pode fechar uma conexão ociosa, um caminho de rede pode desaparecer e uma transferência posterior pode precisar de outra rota ou túnel. A reutilização é uma otimização do cliente sujeita a essas condições, não uma garantia de disponibilidade.

Para trabalho repetido com uma única política de proxy, mantenha vivo o handle relevante ou o cache de conexões multi-handle e evite opções que solicitem deliberadamente conexões novas ou proíbam a reutilização, a menos que a tarefa precise delas. Inspecione o comportamento real da transferência antes de supor que uma segunda requisição mais curta prova a reutilização.

Cuidado com exemplos antigos de PHP que dizem que a conexão permanece aberta "até curl_close". O PHP documenta que curl_close() não tem efeito desde o PHP 8.0 e está obsoleto desde o PHP 8.5. A propriedade dos recursos e o tempo de vida dos objetos precisam ser compreendidos na versão do PHP que você implanta.

Um timer que envia requisições repetidas para manter o proxy aquecido adiciona tráfego e ainda assim não impede que o endpoint remoto feche. Prefira o gerenciamento normal de conexões, requisições com prazo e regras claras de nova tentativa a uma promessa de que uma conexão proxy sempre sobreviverá.

Artigos relacionados