Server-Sent Events
Server-Sent Events sender tekstmeddelelser fra server til klient via HTTP, eksempelvis om en baggrundsopgaves fremdrift.
Server-Sent Events, eller SSE, sender tekstmeddelelser fra server til klient over en HTTP-forbindelse. I browseren stiller EventSource grænsefladen til rådighed; hændelsesstrømmen bruger text/event-stream. Forbindelsen er ensrettet. Kommandoer fra klient til server kræver en anden vej, eksempelvis almindelige HTTP-forespørgsler.
En meddelelse om en igangværende rapportopgave
En fiktiv portal modtager denne hændelsesblok:
id: evt-12
event: job-status
data: {"jobId":"J-52","status":"running"}
Den tomme linje afslutter blokken. Hændelses-ID, hændelsestype og data har forskellige roller. Her melder serveren om igangværende oprettelse; meddelelsen betyder ikke, at filen er klar. Feltværdierne er vores eget eksempel.
Efter en midlertidig forbindelsesafbrydelse kan EventSource automatisk forbinde igen. Et tidligere angivet, ikke-tomt hændelses-ID sendes via Last-Event-ID. Serveren skal selv afgøre, om og hvordan manglende meddelelser stilles til rådighed igen. ID'et skaber ikke en gemt hændelseshistorik.
Applikationen skal derfor håndtere dobbeltmeddelelser og historik, der ikke længere er tilgængelig, eksempelvis ved at hente opgavens aktuelle tilstand igen. SSE garanterer ikke, at en handling i applikationen udføres præcis én gang. Adgang til projekt og opgave skal også kontrolleres ved forbindelse og levering af meddelelser.
Kilder
Relaterede begreber
- MeddelelseskvitteringEn meddelelseskvittering fortæller brokeren, at en levering er modtaget eller behandlet efter den aftalte regel.
- ETagEt ETag identificerer en bestemt repræsentationsversion af en HTTP-ressource og understøtter betingede opslag eller ændringer.
- Cross-Origin Resource SharingCORS styrer browserens adgang til svar fra en anden origin. Det erstatter hverken login til API’et eller kontrol af rettigheder.
- Elektronisk dataudvekslingEDI overfører strukturerede forretningsdokumenter mellem systemer. Format, partnerprofil, datafelternes tilknytning og tilbagemeldinger skal passe sammen.
- RealtidsbehandlingRealtidsbehandling behandler indgående hændelser efter et fastlagt latensmål. Hændelsestid, behandlingstid og forsinkede data kræver klare regler.
- BatchbehandlingBatchbehandling behandler et afgrænset sæt data eller opgaver samlet i én kørsel.
Artikler om emnet


Dit projekt med ASES
Beskriv dit projekt for os. Vi vender tilbage med en første vurdering.

