🌳 고급 고급
SSE(Server-Sent Events)가 뭔가요?
쉽게 이해하기
SSE는 라디오 방송과 같아요. 라디오 방송국(서버)이 계속 방송을 보내면, 청취자(브라우저)는 그걸 듣기만 해요. 청취자가 방송국에 뭔가 요청할 순 없지만, 실시간으로 정보를 받을 수 있죠. 주식 시세, 뉴스 알림 같은 걸 받을 때 딱 맞아요.
핵심 정리
서버가 브라우저에게 실시간으로 데이터를 보내는 단방향 통신 방식이에요
자세히 알아보기
SSE(Server-Sent Events)는 서버에서 브라우저로 실시간 데이터를 보내는 HTML5 표준 기술이에요. WebSocket과 달리 단방향 통신만 가능하지만, 구현이 간단하고 HTTP 프로토콜을 그대로 사용해서 방화벽이나 프록시 문제가 적어요.
SSE는 브라우저가 한 번 연결을 맺으면, 서버가 원할 때마다 데이터를 '푸시'할 수 있어요. 실시간 주식 시세, 스포츠 경기 점수, 소셜 미디어 알림 같은 곳에 많이 쓰입니다. 예를 들어 ChatGPT가 답변을 한 글자씩 스트리밍하는 것도 SSE를 사용한 거예요.
사용법도 간단해요. 서버에서는 `Content-Type: text/event-stream`으로 응답하고, 브라우저에서는 `new EventSource('/api/stream')`로 연결하면 끝이에요. 연결이 끊기면 자동으로 재연결도 해줍니다.
WebSocket처럼 양방향 통신이 필요 없고, 서버에서 클라이언트로만 데이터를 보내면 되는 경우라면 SSE가 훨씬 가볍고 간단해요. 실시간 알림이나 스트리밍 응답을 구현할 때 유용한 선택지입니다.