Realtime over HTTP
HTTP로 실시간을 흉내내는 방식은 비용이 다르다
같은 실시간 화면이라도 polling, long polling, SSE, WebSocket은 연결 유지 방식과 낭비되는 요청 수가 다르다.
Polling은 쉽지만 빈 요청이 많다
SSE는 서버발 이벤트 스트림에 적합하다
WebSocket은 한 연결에서 양방향 메시지를 교환한다
Polling
주기적으로 확인
브라우저가 매 N초마다 새 요청을 보낸다. 이벤트가 없어도 헤더와 연결 비용이 반복된다.
Long polling
응답을 늦춤
서버가 이벤트가 생길 때까지 요청을 잡고 있다가 응답한다. 끝나면 다시 요청한다.
SSE
HTTP 응답 스트림
text/event-stream 응답을 열어 서버에서 클라이언트로 이벤트를 계속 보낸다.
WebSocket
양방향 연결
핸드셰이크 뒤 같은 연결에서 클라이언트와 서버가 서로 독립적으로 메시지를 보낸다.
선택 기준: 알림처럼 서버발 이벤트가 대부분이면 SSE가 단순하고, 채팅·게임·협업처럼 양쪽 메시지가 잦으면 WebSocket이 자연스럽다.