TIL

Polling vs SSE vs WebSocket

비아 VIA 2020. 8. 27. 08:19

서버에서 데이터를 클라이언트에게 보낼 때 두가지 접근 방식이 있음

1. client pull

- client가 server에게 일정한 간격으로 업데이트를 요청

2. server push

- server가 client에게 proactive하게 업데이트를 push.

 

적용된 예시

- Long/short polling (client pull)

- WebSopckets (server push)

- Server-Sent Events (server push)

 

Polling

Polling은 client가 server에게 정기적으로 새 데이터를 요청하는 것.

두가지 방식으로 polling 할 수 있음

- Short polling

AJAX-based timer. 고정된 딜레이를 call.

- Long polling

based on Comet. 서버 이벤트가 발생하면 딜레이 없이 서버가 클라이언트에게 데이터를 보냄

 

Websocket

client와 server의 연결을 지속함. 이 커뮤니케이션 프로토콜은 양방향의 커뮤니케이션을 지원

 

SSE

한번 client-server 연결이 되면 server가 client에게 비동기적으로 data를 push. 

서버는 새로운 데이터 묶음이 가능하면 언제든 데이터를 보낼 수 있도록 결정할 수 있다.

 

출처

https://codeburst.io/polling-vs-sse-vs-websocket-how-to-choose-the-right-one-1859e4e13bd9

'TIL' 카테고리의 다른 글

[삽질 기록] Unit test 자동화하기 step1  (1) 2021.08.27
week2 도커엔진  (0) 2021.08.19
도커 기초 week 1  (0) 2021.08.11
Django model on_delete  (0) 2021.04.22
입사 전 맥북 개발환경 설정 공부  (0) 2020.06.29