용어와 정의
영문 또는 원어: SSE
영문 정식명칭: Server-Sent Events
한글명: 서버 전송 이벤트
SSE는 HTTP 연결을 통해 서버가 브라우저에 이벤트를 계속 보내는 방식입니다. HTML의 EventSource API와 서버 전송 이벤트 형식을 함께 이용합니다.
정확한 의미와 원리
서버는 이벤트 스트림을 보내고 브라우저는 이를 이벤트로 처리합니다. 같은 연결에서 브라우저가 임의의 응용 메시지를 서버로 보내는 양방향 통로를 제공하는 것은 아닙니다.
쉽게 이해하는 사용 예시
작업 진행률이나 새 알림을 화면에 계속 표시하는 상황을 예로 들 수 있습니다. 사용자가 작업 취소를 보내야 한다면 별도의 요청 경로를 사용할 수 있습니다.
종류와 관련 개념의 차이
SSE의 단방향 이벤트 전달과 WebSocket의 양방향 메시지 교환을 구분합니다. EventSource의 재연결과 이벤트 식별자는 응용 데이터의 영구 저장이나 정확히 한 번 처리를 자동 보장하지 않습니다.
적용 조건과 오해하기 쉬운 점
프록시 버퍼링, 연결 제한 및 인증 방식이 실시간 표시를 방해할 수 있습니다. 서버 이벤트를 받았다는 사실과 실제 작업의 성공을 같은 결과로 취급하지 않습니다.