웹소켓(WebSocket)은 웹 브라우저와 웹 서버 간의 양방향 통신 채널을 제공하는 프로토콜이다.
웹소켓의 특징
- 클라이언트와 서버 간 실시간 양방향 통신이 가능하다. 서버에서 클라이언트로 데이터를 보낼 수 있고, 클라이언트에서도 서버로
데이터를 보낼 수 있다. - HTTP 프로토콜과 달리 헤더 오버헤드가 작아 효율적이다. 초기 핸드셰이크 후에는 작은 데이터 프레임만 주고받는다.
- 웹소켓 연결은 지속적이며, 서버나 클라이언트 중 어느 한쪽에서 연결을 끊을 때까지 유지된다
웹소켓의 동작 과정
- Opening Handshake : 클라이언트가 웹소켓 연결을 요청하면 서버와 핸드셰이크를 수행한다. 이 과정에서 HTTP 프로토콜을
업그레이드 한다. - Data Transfer : 핸드셰이크 후 웹소켓 프로토콜로 데이터를 주고받는다. 데이터는 프레임 단위로 전송되며, 여러 프레임이 모여 하나의 메시지를 구성한다.
- Closing Handshake : 클라이언트나 서버 중 한쪽에서 연결을 종료하면 핸드셰이크 과정을 거쳐 연결이 안전하게 종료된다
웹소켓은 실시간 양방향 통신이 필요한 웹 애플리케이션에 적합하다.
'Web' 카테고리의 다른 글
HTTP 메서드와 상태코드 (0) | 2024.06.24 |
---|---|
HTTP 메서드가 가지는 의미는 ? (0) | 2024.06.21 |
redis 연결 시 await 설정 (0) | 2024.06.20 |
Redis란 ? (0) | 2024.06.19 |
웹소켓이란? (0) | 2024.06.17 |