웹 소켓

youngkyu MIn·2023년 10월 20일

웹 소켓 (WebSocket)은 실시간 양방향 통신을 가능하게 하는 프로토콜이다.
웹 소켓은 HTTP/HTTPS 프로토콜 위에서 동작하며, 웹 서버와 클라이언트 간의 지속적이고 양방향의 통신을 가능하게 한다.


웹 소켓의 주요 특징 및 장점

1 실시간 양방향 통신:
클라이언트와 서버 간에 데이터를 실시간으로 주고받을 수 있다.
일반적인 HTTP 요청과 달리 웹 소켓은 연결이 활성화된 상태에서 데이터를 지속적으로 주고받을 수 있다.

2 효율성:
웹 소켓은 핸드쉐이크 후 지속적인 연결 상태를 유지하므로, 반복적인 HTTP 요청 및 응답으로 인한 오버헤드가 줄어든다.

3 서버의 데이터 푸시:
웹 소켓을 사용하면 서버에서 클라이언트로 능동적으로 데이터를 푸시할 수 있다.
이는 채팅 애플리케이션, 실시간 알림 서비스 등에서 유용하게 활용된다.


웹 소켓의 동작 방식

1 핸드쉐이크: 클라이언트가 웹 소켓 연결을 요청하기 위해 초기 HTTP 요청을 보낸다. 이 때 "Upgrade:
websocket" 헤더를 포함한다.

2 서버는 이 요청을 받아 웹 소켓 연결을 수락하고, "101 Switching Protocols" 응답을 보내면서 HTTP에서 웹 소켓 프로토콜로 전환한다.

3 핸드쉐이크가 완료되면 연결은 지속적으로 유지되며, 클라이언트와 서버는 양방향으로 메시지를 주고받을 수 있다.

profile
한 줄 소개

0개의 댓글