[network] WebSocket, WebSocket API
Updated:
WebSocket
- RFC 6455
- 지속적인 단일 소켓 연결을 통해 웹 클라이언트와 웹 서버 간의 전이중 통신을 가능하게 하는 실시간 프로토콜
- 클라이언트가 HTTP 요청을 통해 서버와 핸드셰이크 후 TCP 통신
WebSocket API
- REST API의 한계
- 서버가 먼저 클라이언트에 정보를 줄 수 없으므로 정보가 변하는 경우에만 정보를 받아오는 것이 힘들다
- 주가, 채팅, 게임 등 클라이언트가 실시간 이벤트를 받아야하는 경우 방법이 마땅치 않다
- WebSocket 프로토콜을 웹 클라이언트로 확장
- 구독형 API
- 클라이언트는 받고 싶은 정보를 서버에 요청하면 채널이 생성되면서 닫기 전까지 서버는 정보를 여러번 응답
규격 생성
- https://github.com/asyncapi/spec