Conservar un gestor de cURL puede permitir que transferencias posteriores reutilicen conexiones compatibles en caché. Sin embargo, no puede obligar a un proxy a mantener una conexión TCP abierta indefinidamente.

El par remoto puede cerrar una conexión inactiva, una ruta de red puede desaparecer y una transferencia posterior puede necesitar otra ruta u otro túnel. La reutilización es una optimización del cliente sujeta a esas condiciones, no una garantía de disponibilidad.

Para trabajo repetido con una misma política de proxy, mantenga vivo el gestor correspondiente o la caché de conexiones multi-handle y evite las opciones que solicitan deliberadamente conexiones nuevas o prohíben la reutilización, salvo que la tarea las necesite. Inspeccione el comportamiento real de la transferencia antes de suponer que una segunda petición más corta demuestra la reutilización.

Tenga cuidado con ejemplos antiguos de PHP que afirman que la conexión permanece abierta "hasta curl_close". PHP documenta que curl_close() no tiene ningún efecto desde PHP 8.0 y que está obsoleto desde PHP 8.5. La propiedad de los recursos y el ciclo de vida de los objetos deben entenderse en la versión de PHP que despliegue.

Un temporizador que envía peticiones repetidas para mantener caliente el proxy añade tráfico y aun así no puede impedir que el extremo remoto cierre. Prefiera la gestión normal de conexiones, las peticiones acotadas y reglas de reintento claras frente a la promesa de que una conexión de proxy siempre sobrevivirá.

Artículos relacionados