티스토리 뷰

CG (Common Gateeeway Interface)란 무엇인가?

CGI (Common Gateeeway Interface)는 인터넷 표준으로서 웹 서버가 CGI 스크립트라고 알려진 서버측 프로그램을 실행할 수 있게 합니다.

CGI에 대한 생각

좀더 풀어서 살펴봅시다. 가령 피자헛 홈페이지에 사용자가 접속하였을 경우에 클라이언트 유저는 이미 만들어진 회사소개, 메뉴등의 웹페이지를 웹서버에 요청해서 관련 웹페이지를 볼 수 있을겁니다. 하지만 사용자 멤버쉽 정보를 수정한다던가 메뉴와 토핑을 조합해서 주문을 한다던가 하는 것 처럼 데이터를 처리해서 보여달라고 할 경우는 웹서버가 처리할 수 없습니다. 대부분의 경우 서버 자체로는 데이터를 처리할 수 없습니다. HTTP 서버 프로그램은 문서를 제공하기 위해서만 전용 설계되었기 때문입니다. 클라이언트에서 보낸 데이터를 처리하도록 설계되지는 않습니다. 그러면 이렇게 사용자(클라이언트)로 부터 전송 된 데이터에 대해서 서버 측 처리를 수행하려는 경우는 무엇이 필요할까요? 다음과 같은 세 가지가 필요합니다.

1. 클라이언트가 보낸 데이터를 처리하기 위한 두 번째 프로그램.이러한 두번째 프로그램은 게이트웨이 프로그램(gateway program)이라고 부릅니다.왜냐면 HTTP 서버 시스템 상에 있는 웹 및 다른 자원 (데이터베이스 등) 사이의통로(게이트웨이) 역할을 하기 때문에 그렇습니다.

2. 서버가 두 번째 프로그램으로 데이터를 전달할 수 있는 메커니즘.

3. 두번째 프로그램이 분석 결과 데이터를 사용자에게 데이터를 반환하는 방법

정리

결국 CGI는 서버 프로그램에서 다른 프로그램(gateway program)을 불러내고, 그 처리 결과를 클라이언트에 송신하는 방법입니다.