일방향 push, 옳은 방식으로
Server-Sent Events 는 long polling 의 modern, standardized 형태야. 클라는 특별한 endpoint 로 단일 HTTP request 열고, 서버는 Content-Type: text/event-stream 으로 응답하고 절대 닫지 않아. connection 영원히 열려있고 서버는 할 말 있을 때마다 data: ...\n\n chunk 를 써.
SSE 가 과소평가되는 이유
대부분의 팀이 'real-time 필요해' 에서 SSE 안 보고 WebSocket 으로 직진해. 근데 modern web 의 dominant real-time use case — AI 토큰 streaming — 에 대해선 SSE 가 옳은 답이야. 모든 주요 LLM API (OpenAI, Anthropic, Google) 가 chat completion streaming 에 SSE 써. 브라우저 EventSource 가 재연결 자동 처리. plain HTTP 라 모든 proxy 가 친절. SSE 건너뛸 유일한 이유는 클라도 자주 push 해야 할 때야.
cwkPippa 가 SSE 쓰는 방식
cwkPippa 의 chat endpoint (Claude, Codex, Gemini, Ollama) 다 SSE 위에서 stream — 턴마다 HTTP POST 한 번, 응답이 data: chunk 로 흘러나와. WebSocket 은 진짜로 full-duplex 가 필요한 use case 에만 남겨놨어. 피파가 배운 lesson: AI streaming 한다고 'WebSocket 이 더 멋있어 보여서' 고르지 마.