TIL

TIL 240925 (웹소켓)

j-coder 2024. 9. 25. 22:09

웹소켓 (WebSocket)

클라이언트와 서버 간의 양방향 통신을 위한 프로토콜이다.

기존의 HTTP 통신 방식과는 다르게 연결이 한번되면 실시간으로 양쪽에서 데이터를 주고받을 수 있다.

 

HTTP : 단방향 통신 ( 클라이언트가 요청하지 않으면 서버에서 데이터를 전송할 수 없다.)

 

Web Socket : 양방향 통신 (지속적인 연결)

 

웹소켓 장점

  1.  양방향 통신 : 언제든 데이터를 주고받을 수 있다.
  2. 낮은 오버헤드 : HTTP와 달리 매번 요청과 응답을 반복하지 않아서 네크워크 자원을 덜 소모한다.
  3. 실시간 데이터 교환 : 온라인 게임, 주식 차트, 협업도구 등에서 유용하게 쓰인다.
  4. 지속적인 연결 : 연결이 끊기지 않은 상태여서 데이터 전송 속도가 빠르고 연결에 대한 부담이 적다.
  5. 낮은 지연시간 : 웹소켓은 헤더 정보의 크기를 최소화하고 연결에 드는 시간을 줄여 실시간 통신에 좋다.

 

웹소켓 동작 방식

  1. 핸드쉐이크 : 웹소켓은 HTTP 요청을 통해 서버에 연결을 요청한다. 서버가 요청을 승인하면 HTTP에서 웹소켓 연결로 바뀐다.
  2. 지속적인 연결 : 연결을 유지해서 클라이언트가 서버에 요청을 보낼 필요 없이 서버가 클라이언트로 데이터를 전송할수 있다.
  3. 연결 자유로움 : 통신할 필요없을때 언제든지 연결을 종료할 수 있다.
  4. 데이터 형식 : 프레임 단위로 나눠지며 각각의 프레임은 데이터를 포함하거나 명령을 전송하는데 사용된다.

 

 

출처
https://velog.io/@jinyeong-afk/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%9B%B9%EC%86%8C%EC%BC%93-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC

 

[기술 면접] 웹소켓 개념 및 동작 원리

웹소켓은 웹 브라우저와 웹 서버 간의 양방향 통신을 지원하는 프로토콜이다. 이것은 HTTP 프로토콜의 단점 중 하나인 클라이언트에서 서버로 요청을 보내고 서버는 그에 대한 응답을 보내는 단

velog.io