본문 바로가기

Development/Django

[Django] Web Socket

728x90

 

Django Logo

 

Django에서 Client와 Server 간 통신 절차는 다음과 같습니다.

  1. Client가 Server에 HTTP request를 보냅니다.
  2. Django는 request를 분석하여 url를 view에 매칭시킵니다.
  3. View가 request를 수행해 Server가 Client에 response를 보냅니다.

HTTP에서 꼼수를 사용해 실시간처럼 보이게 할 수 있다. Client에서 Server로 request를 보내 event를 받거나(Pooling), Client에서 계속 request를 보내고 필요한 event가 있을 때에만 response를 보내는 방식(Streaming)입니다.

Web Socket

HTTP와 다르게, Web Socket Protocol은 양방향 커뮤니케이션(bi-directional communication)을 허용합니다. Client와 Server 사이에 Socket Connection을 지원하는 것입니다. Push 방식이라고 하는데, Sever는 User의 Request 없이 Client의 데이터를 줄 수 있는 방식입니다.

HTTP는 request를 보낸 클라이언트만 response를 받을 수 있지만, Web Socket은 다중 Client와 동시에 소통할 수 있습니다.

 

728x90