Naar de inhoud

Server-Sent Events

Server-Sent Events verstuurt tekstmeldingen van server naar client via HTTP, bijvoorbeeld over de voortgang van een achtergrondtaak.

Ook bekend alsSSE
API's en datacontracten

Server-Sent Events, of SSE, verstuurt tekstmeldingen van server naar client via een HTTP-verbinding. In de browser biedt EventSource de interface; de gebeurtenisstroom gebruikt text/event-stream. De verbinding is eenrichtingsverkeer. Opdrachten van client naar server hebben een apart pad nodig, zoals gewone HTTP-aanvragen.

Een melding over een lopende rapporttaak

Een fictief portaal ontvangt dit gebeurtenisblok:

id: evt-12
event: job-status
data: {"jobId":"J-52","status":"running"}

De lege regel sluit het blok af. Gebeurtenis-ID, gebeurtenistype en inhoud hebben verschillende rollen. Hier meldt de server dat het rapport wordt gemaakt; de melding betekent niet dat het bestand gereed is. De veldwaarden zijn ons eigen voorbeeld.

Na een herstelbare onderbreking kan EventSource automatisch opnieuw verbinden. Een eerder ingesteld, niet-leeg gebeurtenis-ID wordt via Last-Event-ID gemeld. De server moet bepalen of en hoe ontbrekende meldingen opnieuw worden aangeboden. Het ID maakt geen opgeslagen gebeurtenisgeschiedenis aan.

De toepassing moet daarom dubbele meldingen en een niet meer beschikbare geschiedenis afhandelen, bijvoorbeeld door de actuele taakstatus opnieuw op te vragen. SSE garandeert niet dat een bedrijfsbewerking precies één keer wordt uitgevoerd. Toegang tot project en taak moet ook bij het verbinden en het leveren van meldingen worden gecontroleerd.

Bronnen

Artikelen over dit onderwerp

Uw project met ASES

Beschrijf ons uw project. We nemen contact met u op met een eerste inschatting.