서버 전송 이벤트

서버 전송 이벤트(Server-sent events, SSE)는 클라이언트가 HTTP 연결을 통해 서버로부터 자동 업데이트를 수신할 수 있도록 하는 서버 푸시 기술이며, 초기 클라이언트 연결이 설정된 후 서버가 클라이언트를 향한 데이터 전송을 시작하는 방법을 설명한다. 이는 일반적으로 브라우저 클라이언트에 메시지 업데이트 또는 지속적인 데이터 스트림을 보내는 데 사용되며 클라이언트가 이벤트 스트림을 수신하기 위해 특정 URL을 요청하는 EventSource라는 자바스크립트 API를 통해 기본 브라우저 간 스트리밍을 향상시키도록 설계되었다. EventSource API는 WHATWG에 의해 HTML Living Standard의 일부로[1] 표준화되었다. SSE의 미디어 유형은 text/event-stream이다.

파이어폭스 6+, 구글 크롬 6+, 오페라 11.5+, 사파리 5+, 마이크로소프트 엣지 79+ 등 모든 최신 브라우저는 서버에서 전송되는 이벤트를 지원한다.[2]

역사

SSE 메커니즘은 2004년에 시작된 "WHATWG 웹 애플리케이션 1.0" 제안의 일부로 이안 힉슨(Ian Hickson)에 의해 처음 지정되었다.[3] 2006년 9월 오페라 웹 브라우저는 "서버 전송 이벤트"라는 기능으로 실험적 기술을 구현했다.[4][5]

예시

var source = new EventSource('updates.cgi');
source.onmessage = function (event) {
  alert(event.data);
};

같이 보기

각주

  1. “HTML Living Standard: 9.2 Server-sent events”. WHATWG. 2022년 3월 31일. 
  2. When can I use... Server-sent DOM events
  3. Hickson, Ian, 편집. ( 1 January 2006). “Server-sent DOM events”. Web Applications 1.0. 《WHATWG. 2024년 5월 9일에 확인함. 
  4. Bersvendsen, Arve (2006년 9월 1일). “Event Streaming to Web Browsers”. 《dev.opera.com》. 
  5. Stream Updates with Server-Sent Events, Eric Bidelman, HTML5Rocks website.

외부 링크