Django

WebSocket 살펴보기 - 2

r잡초처럼 2023. 5. 5. 21:39

2023.05.05 - [Django] - WebSocket 살펴보기

어제 쓴 글에 이어 WebSocket 에 대해 좀 더 살펴보고자 한다.

WebSockets

특징

  • 서버와 브라우저 간 연결을 유지한 상태로 데이터를 교환할 수 있다.
  • 이때 데이터는 패킷 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP 요청 없이 양방향으로 이뤄진다.(HTTP는 요청에 대한 응답이 오면 연결을 끊기 때문에 지속적인 연결을 할 수 없다.)
  • 이런 특징 때문에 온라인 게임이나 주식 트레이딩 시스템같이 데이터 교환이 지속적으로 이뤄져야 하는 서비스에 아주 적합하다.

작동 원리

웹소켓은 TCP/IP 프로토콜 위에서 동작한다.

  1. 클라이언트가 서버에 웹소켓 연결 요청을 보낸다.
  2. 서버는 웹소켓 연결 요청을 받으면, 연결을 수립한다.
  3. 연결이 수립되면, 클라이언트와 서버는 양방향으로 데이터를 주고 받는다.
  4. 데이터를 주고받는 동안 클라이언트나 서버가 연결을 끊으려면 명시적으로 연결을 종료해야 한다.

 


참고 문서

1.  https://ko.javascript.info/websocket

2.  https://choseongho93.tistory.com/266