¿Cómo funciona http keep-alive, cuál es la diferencia entre tcp keep-alive y http keep-alive?

El tiempo de espera significa que después de 30 segundos de inactividad, el servidor web puede elegir cerrar la conexión. El máximo de 200 significa que, en una conexión TCP dada, el servidor web tiene como objetivo recibir un máximo de 200 solicitudes HTTP. El propósito de HTTP Keep Alive es indicar la necesidad de recibir más mensajes en un canal de transporte determinado y es una característica desde HTTP / 1.1 en adelante. Si desea conocer más detalles sobre http keep alive, le recomiendo que lea Protocolos web y práctica http://www.pearsonhighered.com/p…

Ahora TCP Keep-Alive es una bestia diferente y no tiene relación per se con HTTP Keep-Alive. Tenga en cuenta que Internet proporciona transporte para protocolos distintos de HTTP y una miríada de aplicaciones. En los casos en que el servicio puede tardar mucho tiempo en responder, TCP keep-alive es una característica opcional para enviar un paquete nulo (en Ethernet alrededor de 60 bytes por cuadro) para indicar un latido que dice que el par está vivo y de manera indirecta para mantener la conexión abierta. Piense en NAT / Firewall donde las conexiones se cosecharían si no ven ningún intercambio de datos durante un período de tiempo predefinido. TCP Keep-Alive es precisamente para enviar latidos para detectar si el par está ARRIBA / ABAJO. Si no se responde a un mensaje de mantener vivo, se interpretará que está inactivo. Puede configurar la duración entre dos paquetes inactivos, dos paquetes de mantenimiento con éxito y un intervalo de reintento si el anterior falla.

Lea la sección 4.2.3.6 del RFC 1122 para conocer las especificaciones originales de TCP Keep Alives