Server Push
기존의 HTTP 프로토콜을 이용한 웹 통신은 클라이언트에서 요청이 들어오면 서버가 응답해 주고 세션을 끊는 구조.
⇒ 서버에서 먼저 능동적으로 클라이언트에게 데이터를 전달할 수 없었다.
⇒ 동적인 웹을 구현하기 위해 Server Push 기술의 필요성 대두
Server Push 통신 방식
발전 순서
Hidden Iframe → AJAX Polling → AJAX Long-Polling → SSE, Websocket
통신 종류
- AJAX Polling
- 일정 주기로 서버로 요청을 보내어 서버 이벤트를 받는 방식
- 주기가 짧아지면 불필요한 요청이 많아진다.
- 실시간 대응이 필요하지 않은 서비스에 적합
- Ajax Long-Polling
- 요청에 대한 응답을 바로 하지 않고 일정 시간 대기 후 이벤트 발생 시 응답, 이벤트 없으면 클라이언트가 재요청 보냄
- 대기시간은 서버에서 구현하기 나름
- 실시간 대응이 필요한 서비스에 적합
- Server-Sent Events(SSE)
- 서버 → 클라이언트 단일방향 채널
- 서버에서 필요할 때마다 초기 요청 없이 데이터를 클라이언트로 전송
- 서버에서 데이터를 처리하는데 클라이언트로부터 받을 데이터가 없는 경우에 적합
- WebSocket
Reference
https://insomniachaos.tistory.com/94