Normal HTTP — a fresh response for every request
Client
browser
Server
handler
→ GET /api/badge
200 OK · json ←
connection closed
SSE — one response, many frames
Client
EventSource
Server
text/event-stream
→ GET /api/stream
id: 1badge
id: 2notification
id: 3badge
id: 4presence