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ónContrato de progreso
Trabajo asíncrono202 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 EventsContent-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.

Artículos relacionados