Tengo un servidor web que sirve algunos archivos estáticos. En ocasiones, cuando el servidor está bajo una gran carga, envía respuestas parciales con un estado HTTP 200.
Este es un problema para mi aplicación. ¿Por qué?
- Tengo encabezados de caché establecidos en la respuesta que están destinados a mantener el archivo durante mucho tiempo, ya que estos archivos son estáticos y nunca deberían cambiar.
- De vez en cuando, algunos usuarios finales obtienen solo una parte de un archivo javascript, con un estado HTTP de 200.
- ¡Este archivo se almacena en caché por el navegador y rompe mi aplicación!
He probado 2 servidores web diferentes (Jetty y Apache) y veo que el problema ocurre con ambos, con o sin un equilibrador de carga frente a ellos (haproxy). Esto me hace pensar que no es el servidor web en sí, aunque ¿tal vez este sea el comportamiento esperado para cualquier servidor web bajo una carga pesada?
¿Cómo puedo averiguar qué está causando este problema o protegerme contra él?
EDITAR: Estas solicitudes también tienen un Content-Length
encabezado de respuesta que se proporciona también.