땅지원
땅지원's Personal blog
땅지원
전체 방문자
오늘
어제
  • 전체 (353)
    • Frontend (2)
      • React (2)
    • Backend (90)
      • Java (16)
      • Python (19)
      • Spring (23)
      • Database (21)
      • Troubleshooting (8)
    • DevOps (27)
      • ELK (13)
    • CS (40)
    • OS (2)
      • Linux (2)
    • Algorithm (95)
      • concept (18)
      • Algorithm Problem (77)
    • 인공지능 (25)
      • 인공지능 (12)
      • 연구노트 (13)
    • 수업정리 (35)
      • 임베디드 시스템 (10)
      • 데이터통신 (17)
      • Linux (8)
    • 한국정보통신학회 (5)
      • 학술대회 (4)
      • 논문지 (1)
    • 수상기록 (8)
      • 수상기록 (6)
      • 특허 (2)
    • 삼성 청년 SW 아카데미 (6)
    • 42seoul (12)
    • Toy project (3)
    • 땅's 낙서장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 20.11.6 BB21플러스 온라인 학술대회
  • 20.10.30 한국정보통신학회 온라인 학술대회

인기 글

태그

  • D
  • ㅗ
  • E
  • I
  • 이것이 리눅스다 with Rocky Linux9

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
땅지원

땅지원's Personal blog

CS

[CS] 웹에서 일어나는 Push, Pull, Polling, WebSocket에 대해

2023. 1. 29. 15:43

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
    'CS' 카테고리의 다른 글
    • [CS] Main Memory
    • [CS] UI & UX에 대해
    • [CS]CSRF & XSS & CORS에 대해
    • [CS] HashTable & Set & Map에 대해
    땅지원
    땅지원
    신입 개발자의 우당탕탕 기술 블로그

    티스토리툴바