웹 기술 기초
CGI에서는 웹 서버가 요청을 받을 때마다 프로그램을 새로운 프로세스로 기동하고, 처리가 끝나면 프로세스는 종료된다. FastCGI나 애플리케이션 서버 방식이 CGI에 비해 많은 요청을 효율적으로 처리할 수 있는 주된 이유는?
- A프로그램의 프로세스를 상주시켜 재사용하므로, 요청마다 프로세스를 기동하고 초기화하는 수고를 덜 수 있다
- BHTTP 대신 UDP로 이용자와 통신하므로, 요청할 때마다 TCP 연결을 설정하는 수고가 없어진다
- C프로그램을 브라우저로 보내 브라우저 안에서 실행하게 하므로, 서버에서는 요청 처리를 하지 않아도 된다
정답과 해설 보기
정답: A. 프로그램의 프로세스를 상주시켜 재사용하므로, 요청마다 프로세스를 기동하고 초기화하는 수고를 덜 수 있다
CGI는 웹 서버가 요청 정보를 환경 변수나 표준 입력으로 프로그램에 넘기고, 프로그램이 표준 출력에 쓴 결과를 응답으로 돌려주는 단순한 구조입니다. 다만 요청마다 프로세스를 기동하고, 언어 런타임의 로드나 데이터베이스 접속을 매번 다시 하므로, 요청이 많으면 부하가 커집니다. FastCGI나 각 언어의 애플리케이션 서버는 프로그램을 상주시키고, 웹 서버와 소켓 등으로 연결하여 많은 요청을 반복해서 처리합니다.