728x90
Django에서 Client와 Server 간 통신 절차는 다음과 같습니다.
- Client가 Server에 HTTP request를 보냅니다.
- Django는 request를 분석하여 url를 view에 매칭시킵니다.
- View가 request를 수행해 Server가 Client에 response를 보냅니다.
HTTP에서 꼼수를 사용해 실시간처럼 보이게 할 수 있다. Client에서 Server로 request를 보내 event를 받거나(Pooling), Client에서 계속 request를 보내고 필요한 event가 있을 때에만 response를 보내는 방식(Streaming)입니다.
HTTP와 다르게, Web Socket Protocol은 양방향 커뮤니케이션(bi-directional communication)을 허용합니다. Client와 Server 사이에 Socket Connection을 지원하는 것입니다. Push 방식이라고 하는데, Sever는 User의 Request 없이 Client의 데이터를 줄 수 있는 방식입니다.
HTTP는 request를 보낸 클라이언트만 response를 받을 수 있지만, Web Socket은 다중 Client와 동시에 소통할 수 있습니다.
728x90
'Development > Django' 카테고리의 다른 글
[Django] User Model 확장 (2) - 프록시 모델 사용하기 (0) | 2021.02.23 |
---|---|
[Django] User Model 확장 (1) - 4가지 방법 (0) | 2021.02.23 |
[Django] URL 패턴 - 정규식과 path() 차이점 (0) | 2021.02.08 |
[Django] Channels & Daphne (0) | 2021.02.02 |
[Django] Gunicorn - Threads (0) | 2021.02.02 |