Server-Sent Events
Server-Sent Events skickar textmeddelanden från server till klient via HTTP, exempelvis om ett bakgrundsjobbs förlopp.
Server-Sent Events, eller SSE, skickar textmeddelanden från server till klient över en HTTP-anslutning. I webbläsaren tillhandahåller EventSource gränssnittet; händelseströmmen använder text/event-stream. Anslutningen är enkelriktad. Kommandon från klient till server behöver en annan väg, exempelvis vanliga HTTP-anrop.
Ett meddelande om ett pågående rapportjobb
En fiktiv portal tar emot detta händelseblock:
id: evt-12
event: job-status
data: {"jobId":"J-52","status":"running"}
Den tomma raden avslutar blocket. Händelse-ID, händelsetyp och data har olika roller. Här meddelar servern att skapandet pågår; meddelandet betyder inte att filen är klar. Fältvärdena är vårt eget exempel.
Vid ett tillfälligt anslutningsavbrott kan EventSource ansluta igen automatiskt. Ett tidigare angivet, icke-tomt händelse-ID rapporteras via Last-Event-ID. Servern måste själv avgöra om och hur saknade meddelanden erbjuds igen. ID:t skapar ingen lagrad händelsehistorik.
Applikationen måste därför hantera dubbla meddelanden och historik som inte längre är tillgänglig, exempelvis genom att hämta jobbets aktuella tillstånd igen. SSE garanterar inte att en verksamhetsåtgärd genomförs exakt en gång. Åtkomst till projekt och jobb måste också kontrolleras vid anslutning och när meddelanden levereras.
Källor
Relaterade begrepp
- MeddelandekvittensEn meddelandekvittens talar om för brokern att en leverans har tagits emot eller behandlats enligt den överenskomna regeln.
- ETagEn ETag identifierar en viss representationsversion av en HTTP-resurs och stöder villkorade hämtningar eller ändringar.
- Cross-Origin Resource SharingCORS styr webbläsarens åtkomst till svar från en annan origin. Det ersätter varken API-inloggning eller behörighetskontroll.
- Elektroniskt datautbyteEDI överför strukturerade affärsdokument mellan system. Format, partnerprofil, datamappning och återkoppling måste stämma överens.
- RealtidsbearbetningRealtidsbearbetning hanterar inkommande händelser mot ett fastställt latensmål. Händelsetid, bearbetningstid och sena data behöver tydliga regler.
- BatchbearbetningBatchbearbetning behandlar en avgränsad mängd data eller uppgifter tillsammans i en körning.
Artiklar om ämnet


Ditt projekt med ASES
Beskriv ditt projekt för oss. Vi hör av oss med en första bedömning.

