2023.05.05 - [Django] - WebSocket 살펴보기
어제 쓴 글에 이어 WebSocket 에 대해 좀 더 살펴보고자 한다.
WebSockets
특징
- 서버와 브라우저 간 연결을 유지한 상태로 데이터를 교환할 수 있다.
- 이때 데이터는 패킷 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP 요청 없이 양방향으로 이뤄진다.(HTTP는 요청에 대한 응답이 오면 연결을 끊기 때문에 지속적인 연결을 할 수 없다.)
- 이런 특징 때문에 온라인 게임이나 주식 트레이딩 시스템같이 데이터 교환이 지속적으로 이뤄져야 하는 서비스에 아주 적합하다.
작동 원리
웹소켓은 TCP/IP 프로토콜 위에서 동작한다.
- 클라이언트가 서버에 웹소켓 연결 요청을 보낸다.
- 서버는 웹소켓 연결 요청을 받으면, 연결을 수립한다.
- 연결이 수립되면, 클라이언트와 서버는 양방향으로 데이터를 주고 받는다.
- 데이터를 주고받는 동안 클라이언트나 서버가 연결을 끊으려면 명시적으로 연결을 종료해야 한다.
참고 문서
'Django' 카테고리의 다른 글
Django Channels - 채팅 기능 구현하기 - 1 (0) | 2023.05.08 |
---|---|
Django Channels - Consumer 살펴보기 (0) | 2023.05.05 |
DRF - Null인 경우 마지막에 배치하도록 하기 (0) | 2023.04.17 |
django-import-export 비동기 활용하기 (0) | 2023.04.13 |
E2E 테스트할 때 외부 API Mock으로 대체하기 (0) | 2023.03.16 |