웹소켓... HTTP와 뭐가 다를까요?

shockwave·2024년 9월 25일

TIL

목록 보기
32/49

웹소켓(WebSocket)

HTTP : 요청에 의해 응답이 이뤄지는 단방향 프로토콜입니다. (요청이 없다면 연결 또한 있을 수 없다.)
웹소켓 : 클라이언트- 서버 간 양방향 프로토콜입니다. (요청이 없어도 서버에서 클라이언트로 응답이 가능)
우리가 웹을 사용할 때는 주로 HTTP를 사용하게 되지만 채팅앱 또는 통화가 필요한 애플리케이션을 사용한다면
이 때 웹소켓은 양방향 통신이 되기에 HTTP의 대안이 될 수 있습니다.

웹소켓의 장점

  1. 양방향 통신: 클라이언트와 서버 간에 언제든 데이터를 주고받을 수 있습니다.
  2. 낮은 오버헤드: HTTP와 달리 요청-응답을 반복하지 않기 때문에 네트워크 자원 낭비가 비교적 적습니다.
  3. 실시간 데이터 교환: 주식 차트, 온라인 게임, 실시간 채팅 등에서 유용합니다.
  4. 유지되는 연결: 연결이 지속되므로, 데이터 전송 속도가 빠르고 연결에 대한 부담이 적습니다.

동작 방식

  1. 핸드셰이크: 웹소켓은 HTTP 요청을 통해 서버에 연결을 요청합니다.
    서버가 이를 승인하면, HTTP 연결은 웹소켓 연결로 전환됩니다.
  2. 연결 유지: 연결이 성립되면 클라이언트와 서버는 지속적인 연결을 통해 데이터를 교환할 수 있습니다.
  3. 양방향 데이터 전송: 클라이언트나 서버는 언제든지 데이터를 '이벤트'를 통해 보낼 수 있습니다.
  4. 연결 종료: 연결이 필요없어지면 연결 종료를 통해 양 쪽에서 연결이 끊어지게 됩니다.
profile
생각을 많이. 입은 무겁게. 심장은 항상 열심히 뛰는 사람이 되자.

0개의 댓글