Push
클라이언트의 요청이 오면 응답해주는 방식이 아닌 서버가 클라이언트에게 공지사항과 같은 무엇인가 통지해주기 위한 방법이다
다시 말해 클라이언트의 요청이 없이도 서버는 클라이언트에게 응답하는 방식이다
- 웹 푸시(Web Push): 웹사이트 방문자에게 ‘웹 브라우저‘를 통해 푸시 알림을 수신하는 기능
- 앱 푸시(App Push): 스마트 기기에 설치된 ‘앱‘을 통해 운영자가 제공하는 정보를 수신하는 알림 기능
Pull
반대로 서버의 데이터를 주기적으로 클라이언트가 가저가는 것 혹은 달라고 서버에 요청하는 것을 말한다.
Polling
Real-Time Web을 위한 기법으로 특정 주기적으로 서버와 응답을 주고 받는 방식
- 클라이언트가 평범한 http request를 서버로 계속 날려서 이벤트 내용을 전달받는 방식이다.
- 가장 쉬운방법이지만 클라이언트가 계속적으로 request를 날리기때문에 클라이언가 많아지면 서버의 부담이 급증하게 된다. http request connection을 맺고 끊는것 자체가 부담이 많은 방식이다. 그리고 클라이언트에서 실시간정도의 빠른 응답을 기대하기도 어렵다
WebSocket
양방향 채널을 이용해 채팅방 처럼 양방향 통신이 가능하다.
- 기존 http요청 응답 방식은 요청한 그 클라이언트에만 응답이 가능했는데, ws 프로토콜을 통해 웹소켓 포트에 접속해 있는 모든 클라이언트에게 이벤트 방식으로 응답한다
- 단, websocket 프로토콜을 처리하기 위해 전이중 연결과 새로운 웹소켓 서버가 필요하다.
- 웹소켓은 HTTP와 같은 OSI 모델의 7계층에 위치하는 프로토콜이며, 4계층의 TCP에 의존한다
'CS' 카테고리의 다른 글
[CS] Main Memory (0) | 2023.02.19 |
---|---|
[CS] UI & UX에 대해 (0) | 2023.01.29 |
[CS]CSRF & XSS & CORS에 대해 (0) | 2023.01.29 |
[CS] HashTable & Set & Map에 대해 (0) | 2023.01.21 |
Git Flow 전략에 대해 (0) | 2023.01.10 |