본문 바로가기

Web 관련

CGI (Common Gateway Interface)

CGI (Common Gateway Interface)

웹 서버에서 동적인 페이지를 보여 주기 위해

임의의 프로그램을 실행할 수 있도록 하는 기술 중 하나

 

CGI는 현재는 널리 쓰이지 않는데, 가장 큰 문제로

요청이 하나 들어 올 때마다 프로세스가 하나씩 실행된다는 것

이는 특히 스크립트 언어에서 치명적이었는데

스크립트 언어에서는 보통 코드를 실행할 때마다 코드를 매번 해석해야 하기 때문

 

이 문제를 해결하기 위해 나온 방안들

 

1. 웹 서버가 직접 스크립트 언어를 해석하고

그 결과를 캐싱해서 빠르게 실행할 수 있도록 하는 경우

특히 웹 서버 모듈로 확장 가능한 웹 서버에서 흔히 쓰이는데

대표적인 언어가 바로 PHP

 

2. CGI 프로그램이 한 요청만 처리하고 종료되는 게 아니라

요청을 계속 처리할 수 있도록 CGI를 개량한 경우

이 중 언어와 상관 없는 기술로는 FastCGI와 이의 개량판 SCGI

대표적으로 PHP를 윈도우에서 IIS로 돌리거나

리눅스에서 NGINX로 돌릴 경우 FastCGI 모듈을 이용

 

3. 그냥 원하는 언어로 웹 서버를 짠다!(python, ruby)

이 경우 해당 프로그램은 항상 실행되어 있고,

웹 서버는 그 내부 서버를 중개하는 역할만함

'Web 관련' 카테고리의 다른 글

정규식 공부 도움되는 사이트  (0) 2020.07.08
WSGI, WAS, CGI  (0) 2020.06.03
SOP(Same Origin Policy)  (0) 2020.05.13
Web server and Web application  (0) 2020.05.13
URI URL  (0) 2020.04.29