-
CGI / FAST CGI && WAS vs CGI vs SpringWeb 2024. 7. 31. 21:32
본 문서는 공부를 하는 과정에서 사용하는 필기이다.
정확한 정보가 아닐 수 있으니 다른 문헌도 참고하길 바란다.
CGI
Common Gateway Interface 라고 한다.
웹 서버에서 동적으로 처리하지 못하는 정보를 처리하기 위해 환경 변수를 통하여 외부 프로그램에 보내는 데, 이 과정에서 웹 서버가 사용하는 인터페이스이다.
사실상 웹 서버는 유저가 요청한 파일을 읽어서 출력하는 것을 목적으로 하지, 데이터를 처리하는 것을 목적으로 하지 않는다.
그래서 데이터의 처리를 외부 프로그램에 맡기는데, 이 과정에서 외부 프로그램에 처리해야 하는 데이터를 주고 받는 부분이 CGI이다.
FAST CGI
FAST CGI는 Open Market이 자신들의 문제를 해결하기 위해 개발
CGI는 데이터의 처리를 위해 각각의 요청에 대한 프로세스 생성하여 부하가 심하다.
이를 해결하기 위해 하나의 프로세스에서 여러 요청을 처리하게 하는 것이 FAST CGI이다.
FAST CGI 구현 소프트웨어
- Apache HTTP Server
- mod_fcgid : TCP 소켓을 지원하지 않는다. UNIX Socket만 지원한다.
- mod_proxy_fcgi : Apache 2.4에 들어있다. TCP 소켓을 지원한다.
- NginX
- Lighttpd
- Zeus Web Server
- Sun Java System Web Server
- LiteSpeed Web Server
- Roxen Web Server
참고문헌
https://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html
mod_proxy_fcgi - Apache HTTP Server Version 2.4
Apache Module mod_proxy_fcgi Summary This module requires the service of mod_proxy. It provides support for the FastCGI protocol. Thus, in order to get the ability of handling the FastCGI protocol, mod_proxy and mod_proxy_fcgi have to be present in the ser
httpd.apache.org
WAS vs CGI vs Spring
CGI
Common Gateway Interface로 웹 서버가 데이터를 처리하기 위해 만들어진 인터페이스
WAS
Web Application Server로 동적인 데이터를 처리하기 위해 만들어진 Server
Web Server + CGI
Spring
WAS + Subvlet 를 합친 프레임 워크
웹 서버와 WAS, CGI (feat. 스레드와 프로세스)
목차
80000coding.oopy.io
'Web' 카테고리의 다른 글
python MITM proxy install for window (0) 2024.11.21 Web Scanner / Fuzzer 차이 (0) 2024.07.15 HTTP packet (1) 2024.06.07 - Apache HTTP Server