Что такое Server-Sent Events (SSE)?

Middle
199 просмотров
AFK Offer AI

SSE — однонаправленный поток событий от сервера к клиенту через HTTP. Content-Type: text/event-stream. Формат: data: message\\n\\n. В FastAPI: StreamingResponse с async generator. async def event_stream(): while True: yield f"data: {json.dumps(event)}\\n\\n"; await asyncio.sleep(1). Клиент (JS): EventSource("/events"). Автоматический reconnect. event: type — именованные события. id: 123 — Last-Event-ID для resume. SSE vs WebSocket: SSE — проще, только server→client, HTTP, автоматический reconnect. WebSocket — bidirectional, бинарные данные. SSE идеален для: notifications, live feeds, progress updates.

Следующий вопрос

Что полезного в contextlib?