TIL
TIL 240925 (웹소켓)
j-coder
2024. 9. 25. 22:09
웹소켓 (WebSocket)
클라이언트와 서버 간의 양방향 통신을 위한 프로토콜이다.
기존의 HTTP 통신 방식과는 다르게 연결이 한번되면 실시간으로 양쪽에서 데이터를 주고받을 수 있다.
HTTP : 단방향 통신 ( 클라이언트가 요청하지 않으면 서버에서 데이터를 전송할 수 없다.)
Web Socket : 양방향 통신 (지속적인 연결)
웹소켓 장점
- 양방향 통신 : 언제든 데이터를 주고받을 수 있다.
- 낮은 오버헤드 : HTTP와 달리 매번 요청과 응답을 반복하지 않아서 네크워크 자원을 덜 소모한다.
- 실시간 데이터 교환 : 온라인 게임, 주식 차트, 협업도구 등에서 유용하게 쓰인다.
- 지속적인 연결 : 연결이 끊기지 않은 상태여서 데이터 전송 속도가 빠르고 연결에 대한 부담이 적다.
- 낮은 지연시간 : 웹소켓은 헤더 정보의 크기를 최소화하고 연결에 드는 시간을 줄여 실시간 통신에 좋다.
웹소켓 동작 방식
- 핸드쉐이크 : 웹소켓은 HTTP 요청을 통해 서버에 연결을 요청한다. 서버가 요청을 승인하면 HTTP에서 웹소켓 연결로 바뀐다.
- 지속적인 연결 : 연결을 유지해서 클라이언트가 서버에 요청을 보낼 필요 없이 서버가 클라이언트로 데이터를 전송할수 있다.
- 연결 자유로움 : 통신할 필요없을때 언제든지 연결을 종료할 수 있다.
- 데이터 형식 : 프레임 단위로 나눠지며 각각의 프레임은 데이터를 포함하거나 명령을 전송하는데 사용된다.
[기술 면접] 웹소켓 개념 및 동작 원리
웹소켓은 웹 브라우저와 웹 서버 간의 양방향 통신을 지원하는 프로토콜이다. 이것은 HTTP 프로토콜의 단점 중 하나인 클라이언트에서 서버로 요청을 보내고 서버는 그에 대한 응답을 보내는 단
velog.io