Tiempos de espera por inactividad del proxy durante trabajos HTTP largos
Elija sondeo o un formato de transmisión definido cuando el trabajo largo del servidor encuentra el límite de inactividad de un proxy, en lugar de insertar bytes arbitrarios en la respuesta final.
Si un servicio permanece en silencio durante minutos y un proxy agota su tiempo de espera, elija qué debe recibir el cliente antes de añadir bytes de latido. Ampliar un temporizador puede ayudar a una espera; el contrato de respuesta determina qué progreso es válido.
| Diseño de la aplicación | Contrato de progreso |
|---|---|
| Trabajo asíncrono | 202 Accepted con una representación que describe la supervisión, seguida de solicitudes de estado finitas y estados explícitos de finalización/fallo |
| Flujo Server-Sent Events | Content-Type: text/event-stream y registros que el cliente SSE entiende |
202 no promete que el trabajo tenga éxito. Para SSE, un registro de comentario puede verse así:
: heartbeat
Los dos puntos lo convierten en un comentario en lugar de un evento de la aplicación. Las notas de autoría de HTML sugieren comentarios periódicos aproximadamente cada 15 segundos contra cierto comportamiento antiguo de inactividad de proxies; eso es una guía, no una garantía universal de tiempo de espera.
Termine las cabeceras y asegúrese de que la aplicación/pila de servicio libera los registros en lugar de almacenarlos localmente. Los bytes aún no enviados no pueden mantener activo a un intermediario posterior.
No inserte comentarios SSE en contenido JSON o binario ordinario. Un chunk de longitud cero HTTP/1.1 termina un cuerpo chunked, así que no es un latido vacío repetible.
Conserve un plazo de operación y una política de cancelación. La actividad del tráfico por sí sola no muestra un progreso útil del trabajo ni un resultado final válido.