Computer Programming/AI

TIL_WSGI(Web Server Gateway Interface)란?

JYCoder 2023. 11. 1. 23:55

Django project를 시작할 때, 'startproject'를 사용하여 프로젝트를 생성하고 나면 아래 그림처럼 'wsgi.py' 파일이 생성된 것을 볼 수 있다. 'wsgi.py'파일이 하는 역할은 무엇일까?

 

 

WSGI(Web Server Gateway Interface)는 web application server이 web server(WS)와 통신하기 위한 interface이다. API와 비슷하게 web server와 web application server 사이에서 data를 주고 받기 위한 규약이다.

 

 

client - Web Server(WS) - WSGI - Web Application Server(WAS)의 관계와 역할

  • client가 web browser을 통해 HTTP 방식으로 WS에 request를 보낸다.
  • WS은 WSGI를 통해 WAS와 data를 주고 받는다.

 

여기서 WS의 역할은

1. client로 부터 request를 받아서 뒤에 있는 WAS에 전달

2. 보안을 위해 WAS 쪽의 port 번호를 숨김

3. request가 많이 들어오면 여러 개의 WAS로 분산

4. Serving static files

 

 

LIST