[네트워크/WEB] WebSocket

KIM KYUBIN·2022년 12월 21일
0

네트워크/WEB

목록 보기
1/1

웹 소켓(WebSocket)

하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜

서버와 브라우저 간 연결을 유지한 상태로 데이터 교환 가능

HTTP Polling vs WebSocket

HTTP Polling

  • 클라이언트가 평범한 HTTP Request를 서버로 계속 날려서 이벤트 내용을 전달받는 방식
  • 가장 쉬운 방법이지만 클라이언트가 지속적으로 Request를 날리기 때문에 클라이언트가 많아지면 서버의 부담이 급증
  • polling은 HTTP 오버헤드가 발생한다는 단점
  • 하지만 일정하게 갱신되는 서버 데이터의 경우 유용하게 사용할 수 있는 방식

WebSocket

  • 양방향 채널을 이용해 채팅방 처럼 양방향 통신 가능
  • ws 프로토콜을 통해 웹소켓 포트에 접속해 있는 모든 클라이언트에게 이벤트 방식으로 응답
  • 최초 접속이 일반 HTTP Request를 통해 handshaking과정을 통해 이루어 지기 떄문에, 기존의 80, 443 포트로 접속을 하므로 추가로 방화벽을 열지 않고도 양방향 통신 가능
  • HTTP 규격인 CORS적용이나 인증 등의 과정을 기존과 동일하게 가저갈 수 있는것이 장점
  • 단, WebSocket 프로토콜을 처리하기 위해 전이중 연결과 새로운 웹소켓 서버가 필요

참고

https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-Polling-Long-Polling-Server-Sent-Event-WebSocket-%EC%9A%94%EC%95%BD-%EC%A0%95%EB%A6%AC
https://kku-jun.tistory.com/17
https://ko.wikipedia.org/wiki/%EC%9B%B9%EC%86%8C%EC%BC%93

profile
상상을 현실로 만들기 위해 노력하는 개발자

0개의 댓글