İçeriğe geçin

Server-Sent Events

Server-Sent Events, arka plan işinin ilerlemesi gibi metin bildirimlerini HTTP bağlantısıyla sunucudan istemciye taşır.

Diğer adlarıSSE
API ve veri sözleşmeleri

Server-Sent Events, kısaca SSE, HTTP bağlantısı üzerinden sunucudan istemciye metin bildirimleri taşır. Tarayıcıda bunun arayüzü EventSource ile sağlanır; olay akışı text/event-stream kullanır. Bağlantı tek yönlüdür. İstemciden sunucuya komutlar için normal HTTP istekleri gibi ayrı bir yol gerekir.

Süren rapor işi için bildirim

Kurgusal bir portal şu olay bloğunu alır:

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

Boş satır bloğu bitirir. Olay kimliği, olay türü ve veri içeriğinin görevleri farklıdır. Burada sunucu üretimin sürdüğünü bildirir; bu mesaj dosyanın hazır olduğu anlamına gelmez. Alan değerleri bize ait örnektir.

Giderilebilir bir bağlantı kesintisinde EventSource otomatik yeniden bağlanabilir. Daha önce belirlenmiş, boş olmayan olay kimliği Last-Event-ID ile bildirilir. Sunucu eksik bildirimleri tekrar sunup sunmayacağını ve yöntemini kendisi belirlemelidir. Kimliğin bulunması, saklanmış bir olay geçmişi oluşturmaz.

Bu nedenle uygulama, çift gelen mesajları ve artık bulunmayan geçmişi ele almalıdır; örneğin işin güncel durumunu yeniden sorgulayabilir. SSE, uygulamadaki bir işlemin tam bir kez yapılacağını garanti etmez. Projeye ve işe erişim hem bağlantı kurulurken hem bildirimler gönderilirken kontrol edilmelidir.

Kaynaklar

Bu konudaki yazılar

Projeniz ASES ile

Projenizi bize anlatın. İlk değerlendirmemizle size dönelim.