Pregunta

Estoy implementando una aplicación mod_wsgi sobre Apache, y tengo un programa cliente que usa Curl.

En la API CURL en el lado del usuario, intento volver a utilizar la conexión, pero al mirar las conexiones desde wireshark, veo que para cada solicitud / respuesta HTTP, se realiza una nueva conexión.

Al final de cada solicitud HTTP, el encabezado de respuesta HTTP tiene " Conexión: Cerrar "

¿Es esto lo mismo que Keep-Alive? ¿Qué debo hacer en el lado de Apache / Mod_wsgi para habilitar la reutilización de la conexión?

¿Fue útil?

Solución

Por lo general, no necesitaría hacer nada a Apache ya que el soporte para mantener conexiones activas normalmente estaría activado de manera predeterminada. Mire la directiva KeepAlive en la configuración de Apache para averiguar en qué está configurada.

Además de eso, para mantener activas las conexiones para que funcionen, la aplicación WSGI debe establecer una longitud de contenido en la respuesta o devolver una lista para la respuesta donde la lista contiene una sola cadena. En este último caso, mod_wsgi agregará automáticamente una longitud de contenido para la respuesta. En general, la respuesta también debería ser una respuesta exitosa, ya que la mayoría de las respuestas de error causarían que la conexión se cerrara independientemente.

Incluso después de haber hecho todo eso, el problema es si la capacidad de curl para obtener múltiples URL incluso hace uso de las conexiones mantener vivas. Obviamente, las invocaciones separadas de curl no podrán hacerlo, por lo que incluso si hace estas preguntas, sugiere que está tratando de usar esa característica de curl. La única otra opción sería si estuviera utilizando un cliente personalizado vinculado a libcurl y su biblioteca, por lo que se refería a libcurl.

Tenga en cuenta que si el acceso a Apache es a través de un proxy, es posible que el proxy no implemente mantener vivo y, por lo tanto, deje de funcionar todo el mecanismo.

Para dar más información, necesita saber cómo está usando curl.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top