프로젝트 회고
WebSocket
코딩 화이팅
2023. 12. 19. 22:20
- 웹에서 양방향 통신을 가능하게 하는 고급 기술
- 전통적인 HTTP 통신과 달리, WebSocket은 클라이언트와 서버 간에 지속적인 연결을 유지하며, 양쪽 모두에서 언제든지 데이터를 주고받을 수 있게 해줌
주요 특징
- 양방향 통신
- 클라이언트와 서버 간의 양방향 통신을 가능하게 함.
- 지속적인 연결
- 한 번 연결이 되면, 클라이언트와 서버 사이의 연결이 지속적으로 유지
- 추가적인 HTTP 요청 없이 데이터를 빠르게 주고 받을 수 있게 해줌
- 실시간 통신
- 실시간으로 데이터를 교환해야 하는 애플리케이션에 이상적
- 온라인 게임, 채팅, 실시간 거래 플랫폼 등
서버와 클라이언트가 어떻게 연결을 유지하면서 데이터를 주고 받는거지?
- 연결 수립
- 클라이언트는 서버에 웹소캣 연결을 요청하는 특별한 형태의 HTTP 요청을 보냄.
- 'Upgrade: websocket'과 같은 헤더가 포함되어, 서버에게 연결을 웹소켓 프로토콜로 전환하자는 의미를 전달
- 서버가 이 요청을 수락하면, HTTP 연결은 웹소켓 연결로 업그레이드되며, 이로써 지속적인 연결이 수립됨.
- 데이터 전송
- 연결이 수립되면, 클라이언트와 서버는 연결이 종료될 때까지 언제든지 데이터를 서로에게 전송 가능
- 프레임 기반의 통신을 사용하여 데이터를 주고받음.