웹소켓(WebSocket)

Ji·2021년 12월 29일
0

웹소켓(WebSocket)

  • 2014년 10월 28일의 HTML5 버전이 나올 때 함께 등장했던 웹소켓은 2016년 11월 1일 HTML5.1버전이 나오고 2017년 12월 14일 HTML5.2버전이 나올때까지 지속적으로 발전
  • Transport protocol의 일종으로 서버와 클라이언트 간의 효율적인 양방향 통신을 실현하기 위한 구조
  • 순한 API로 구성되어있으며, 웹소켓을 이용하면 하나의 HTTP 접속으로 양방향 메시지를 자유롭게 주고받을 수 있음.
  • 서버와 브라우저 사이에 양방향 소통이 가능하게 함. 브라우저는 서버가 직접 보내는 데이터를 받아들일 수 있고, 사용자가 다른 웹사이트로 이동하지 않아도 최신 데이터가 적용된 웹을 볼 수 있게 해줌
  • 가상화폐의 분산화 기술의 핵심도 WebSocket

작동원리

  • 서버와 클라이언트간의 웹소켓 연결은 HTTP프로토콜을 통해 이루어짐.
  • 연결이 정상적으로 이루어진다면 서버와 클라이언트 간에 웹소켓 연결(TCP/IP기반)이 이루어지고 일정 시간이 지나면 HTTP연결은 자동으로 끊어짐

문제점

  • 프로그램 구현에 보다 많은 복잡성을 초래 : 웹 소켓은 HTTP와 달리 Stateful protocol이기 때문에 서버와 클라이언트 간의 연결을 항상 유지해야 하며 만약 비정상적으로 연결이 끊어졌을때 적절하게 대응해야 함.
  • 서버와 클라이언트 간의 Socket 연결을 유지하는 것 자체가 비용이 듦. ->트래픽 양이 많은 서버같은 경우에는 CPU에 큰 부담

출처
https://choseongho93.tistory.com/266 [TROLL]

profile
공부방

0개의 댓글