거북이의 IT 공부
[Django] Django는 웹서버인가? 본문
미리 답을 말하면 장고 자체는 웹서버가 아니다.
장고는 장고만의 웹서버를 사용한다.
개발 목적으로 python으로 짜여진 가벼운 WSGI(web server gateway interface)를 사용한다.
장고 프로젝트 만들 때 wsgi.py가 자동으로 생성된다. (WSGI = 장고의 내장 WAS = 장고만의 웹서버)
이러한 Python WAS인 WAGI 덕분에 runserver를 하면 장고에서 GET, POST 요청 등 Client가 웹서버에 보내는 요청(request)를 확인할 수 있다 - 이는 결국 우리 컴퓨터 자체가 하나의 서버로 동작하게 된 것이다.
그래서 장고로 작은 프로젝트 만들 때 장고(정확히 말하면 WSGI)를 웹서버로 생각해도 무방하다. (아파치같은 웹서버를 따로 파지 않는 이상말이다!)
만약 아파치 같은 웹서버를 따로 두면 장고는 동적인 파일을 처리하는 외부 프로그램(웹 애플리케이션)이다.
이 웹서버와 웹 애플리케이션을 연결하는 연결체가 WSGI(python WAS - Django에는 내장되어 있음)가 되는 것이다.
Comments