
- client에서 웹서버로 http요청을 보냄
- 웹서버는 동적요청을 WSGI에 전달
- WSGI는 웹서버와 앱의 통신을 담당
NGNIX
- 역방향 프록시(reverse proxy): 클라이언트의 요청을 받아 웹서버로 전달하여 응답을 받은 후 다시 클라이언트에 전달하는 역할을 수행하는 서버, 즉, 클라이언트와 웹서버 사이에 존재하는 서버
- 클라이언트의 요청을 중간에 가로채어 응답을 받는 실제 서버에 전달하고 서버에서 응답이 오면 요청을 했던 클라이언트에게 전달하는 역할 수행
⇒ 클라이언트는 직접적으로 실제 서버에는 통신할 수 없음
- 이점
- 로드 밸런싱: 오청이 많은 사이트를 운영하는 경우 여러 대의 서버를 두고 운영하게 됨, 이때 특정 서버에만 요청이 몰리지 않도록 하는 역할을 NGINX가 수행
- 공격으로부터 보호: NGINX를 사용하면 웹사이트나 서비스에서 실제 서버의 IP 주소를 필요로 하지 않기 때문에, NGINX를 공격하게 되지 실제 서버에는 공격이 들어오는 것을 막을 수 있음
- 캐싱: 콘텐츠를 캐싱할 수 있어 결과를 더 빠르게 응답하여 성능을 높일 수 있음
https://velog.io/@wijihoon123/Nginx란-무엇인가
CGI
- Common Gateway Interface
- 웹서버와 응용 프로그램 사이의 동시 통역사 역할
WSGI
- Web Server Gateway Interface
- 파이썬 어플리케이션이 웹 서버와 통신하기 위한 인터페이스
- 웹서버에서의 요청을 해석하여 파이썬 어플리케이션 쪽으로 던지는 역할을 수행함
Gunicorn