Server-Sent Events
Server-Sent Events transmite avisos de texto del servidor al cliente por HTTP, por ejemplo sobre el avance de un trabajo en segundo plano.
El mecanismo Server-Sent Events, o SSE, transmite avisos de texto del servidor al cliente mediante una conexión HTTP. En el navegador, EventSource ofrece la interfaz; el flujo usa text/event-stream. La conexión es unidireccional. Los comandos del cliente al servidor necesitan otra vía, como solicitudes HTTP normales.
Un aviso sobre un informe en curso
Un portal ficticio recibe este bloque de evento:
id: evt-12
event: job-status
data: {"jobId":"J-52","status":"running"}
La línea vacía termina el bloque. El identificador, el tipo de evento y los datos cumplen funciones distintas. Aquí el servidor informa de una creación en curso; el aviso no significa que el archivo esté listo. Los valores son un ejemplo propio.
Tras una interrupción recuperable, EventSource puede reconectarse automáticamente. Un identificador de evento previamente establecido y no vacío se comunica mediante Last-Event-ID. El servidor debe decidir si vuelve a ofrecer las notificaciones que faltan y cómo lo hace. El identificador no crea un historial de eventos almacenado.
La aplicación debe gestionar, por tanto, las notificaciones duplicadas y un historial que ya no esté disponible, por ejemplo consultando de nuevo el estado actual del trabajo. SSE no garantiza que una operación de negocio se ejecute exactamente una vez. El acceso al proyecto y al trabajo también debe comprobarse al conectar y al entregar los avisos.
Fuentes
Términos relacionados
- Confirmación de mensajesLa confirmación informa al broker de que una entrega se ha recibido o procesado según la regla acordada.
- ETagUn ETag identifica una versión concreta de la representación de un recurso HTTP y permite lecturas o cambios condicionales.
- Cross-Origin Resource SharingCORS controla el acceso del navegador a respuestas de otro origen. No sustituye el inicio de sesión ni la comprobación de permisos de la API.
- Intercambio electrónico de datosEDI transmite documentos de negocio estructurados entre sistemas. Deben concordar el formato, el perfil del socio, las correspondencias de datos y las respuestas.
- Procesamiento en tiempo realEl procesamiento en tiempo real sigue un objetivo de latencia definido. Hay que distinguir la hora del evento de la de procesamiento y prever datos tardíos.
- Procesamiento por lotesEl procesamiento por lotes trata conjuntamente un conjunto delimitado de datos o trabajos en una ejecución.
Artículos sobre el tema


Su proyecto con ASES
Descríbanos su proyecto. Le responderemos con una primera valoración.

