웹 서비스 구조와 동작 방식에 대해서 알아보자!!
Web Server
- 요청이 들어오면 전달하는 역할
- 정적인 컨텐츠들을 제공한다.
ex) niginx, apache
Web Server Gateway Interface (WSGI)
- 파이썬 어플리케이션이 웹 서버와 통신하기 위한 인터페이스
- 웹 서버와 웹 애플리케이션(Django)간의 연결을 중계한다.
- 웹 서버는 파이썬을 모르기 때문에 wsgi가 http 요청을 파이썬으로 바꿔주고, django로 부터 받은 응답을 nginx가 알 수 있도록 바꿔준다.
ex) gunicorn, uwsgi
Client -> Web Server -> WSGI -> Application
의 형태로 동작한다.
Web Application Server (WAS)
- 웹 서버 위에 어플리케이션을 얹은 것이다.
- DB와 연결하여 동적인 컨텐츠를 제공한다.