WebSocket에 대하여

훈이·2023년 3월 19일
0

팀프로젝트에서 실시간채팅창 구현을 맡게 되면서 Websocket라는 것에 대하여 공부해야겠다라는 생각이 들었다.

HTTP와 WebSocket 둘 다 프로토콜이다.

http는 유저가 요청을 보내면 서버가 응답을 보내고 요청과 응답의 반복이다.
http의 중요한점은 stateless기 때문에 백엔드(서버)는 유저를 기억하지 못한다.
즉, 요청과 응답 과정 뒤에 백엔드는 유저를 잊어버린다.
websocket은 브라우저가 서버에 요청을 보내면 서버는 거절하거나 수락을 한다. 수락을 했다면 서로 악수한거처럼 연결이 된다. 그래서 서버는 유저를 알 수 있다. 그래서 서버는 요청이 없어도 응답을 보낼 수 있다. 즉, 브라우저는 서버에게 어떤 때나 메세지를 보낼 수 있고 서버도 마찬가지다. 즉, 나와 Wi-Fi를 생각하면 된다. 연결 끊기 전까지 계속 연결되어있다.

웹 소켓의 특징

  1. 양방향 통신
  • 데이터 송수신을 동시에 처리할 수 있는 통신 방법
  • 클라이언트와 서버가 서로에게 원할 때 데이터를 주고 받을 수 있다.
  • 통상적인 http 통신은 클라이언트가 요청을 보내는 경우에만 서버가 응답하는 단방향 통신
  1. 실시간 네트워킹
  • 웹 환경에서 연속된 데이터를 빠르게 노출
  • 예를들면 채팅,주식,비디오 데이터
  • 여러 단말기에 빠르게 데이터를 교환
profile
백엔드 개발자가 되자!

0개의 댓글