Etc. Skills
SSE(Server Sent Events)
루딘
2023. 8. 26. 01:16
SSE(Server Sent Events)
정의
- 서버의 데이터를 실시간으로 지속적으로 Streaming하는 기술
사용하는 이유
- 서버의 변경된 데이터를 실시간으로 가져오기 위해 웹소켓을 사용할 수도 있지만 구현 비용이 많이 듬
- SSE는 기존 HTTP API만으로도 구현이 간단하기 떄문에 백/프론트 양측 모두 쉽게 개발이 가능
특징
- 브라우저는 서버가 생성한 Stream을 계속 받음
- 연결 유지를 위해 HTTP를 사용 HTTP/2 를 통한 multiplexing 사용 가능
- 연결이 끊어지면 EventSource가 Error Event를 발생시키고 자동으로 다시 연결을 시도함
- 표준 기술로 IE를 제외한 브라우저 대부분을 지원 (IE도 Pollyfill로 사용 가능)
- 폴리-필(Polyfill) 이란?
- 브라우저에서 지원하지 않는 코드를 사용 가능한 코드 조각이나 플러그인으로 변환한 코드를 의미 즉, 최신 자바스크립트의 기능을 구식 자바스크립트 코드로 똑같이 구현한 코드를 의미함.
- 폴리-필(Polyfill) 이란?
사용 예시
- 실시간 단방향 통신이 필요한 경우
- 실시간 데이터를 HTTP로 사용하려는 경우
- ex)
- 주가 피드 구독
- 라이브 스포츠 점수받기
- 다양한 뉴스 알림 기능