CGI(Common Gateway Interface)는 외부의 애플리케이션과 웹서버와 연결을 할 때 사용하는 인터페이스다.
과거에는 정적파일(HTML)을 다운로드 하는게 거의 주였기 때문에 CGI같은 중계기가 필요 없었다.
하지만 웹으로 채팅, 거래, 업무공유등 Interaction이 많은 일들이 수행되면서 외부 애플리케이션을 호출이 필요하게 돼 CGI 같은 중계기가 생겨나게됨.
Java 진영에서는 Tomcat(Web Server + FastCGI) WAS를 사용한다.
반면 Python 진영에서는 이러한 WAS가 존재 하지 않아 WAS형태를 만들어 사용해야 한다. Python 에서 교통정리를 해줄 Gateway Interface 는 크게 2종류가 있다. WSGI, ASGI
WSGI (Web Server Gateway Interface)
- 동기식 처리
- 종류
- nginx, apache에서 내장 모듈로 제공하는 방식 (mod-wsgi, mod-python 등)
- Python Web App Server (gunicorn, cherrypy등)
ASGI (Asynchronous Server Gateway Interface)
- 비동기식 처리
- Websocket Protocol 지원, HTTP2.0 지원
- 종류 : uvicorn
'Backend' 카테고리의 다른 글
Web Server, WSGI, Web Application Server (0) | 2022.03.12 |
---|---|
Gunicorn (0) | 2022.03.12 |
댓글