[WEB] Web Server, WSGI, WAS

sudog·2023년 10월 31일
0

WEB

목록 보기
8/9

Web Server는 클라이언트의 요청을 받아 정적인 리소스를 처리할 수 있다. 가령, html, css, js나 이미지 등 이미 작성되어 있는 파일을 보내줄 수 있다. ApacheNginx가 대표적인 웹 서버 프로그램 중 하나이다.

하지만, 프로그래밍 로직을 실행하거나 데이터베이스 요청 등 동적인 작업을 수행해야 하는 경우 WAS(Web Application Server), 즉 애플리케이션에 이 요청을 전달해야 한다.

기본적으로 웹 서버는 파이썬 앱과 통신하는 방법을 모르기 때문에 중계 역할을 하는 인터페이스가 필요하다. 이것을 WSGI(Web Server Gateway Interface)라 한다.
Web Server <=> WSGI <=> Application 의 계층 구조를 생각하면 되겠다.

그렇다면 지금까지 장고에서 WSGI를 설정하지 않았음에도 runserver로 실행하면 통신이 가능했던 이유는 무엇일까? 그것은 장고가 기본으로 제공하는 wsgi.py파일이 있었기 때문이다. 실제 배포 단계에서는 WSGI 서버 프로그램을 사용해야 하는데 대표적으로 uWSGIGunicorn이 있다.

profile
안녕하세요

0개의 댓글