우선 지식백과에서 정의한 단어의 뜻입니다.
CGI란 common gate way interface의 약어로 WWW 서버와 서버 상에서 등장하는 다른 프로그램이나 스크립트와의 인터페이스 폼을 사용한 메일의 송신이나 게임 등 HTML에서는 불가능한 인터렉티브한 요소를 홈페이지에 받아 들여 쓸 수 있다.
예를 들면 자신의 홈페이지를 만들었을 때 누가 자신의 홈페이지에 접속했고 자신의 홈페이지에 대해 어떻게 생각하는지 알고 싶다거나 홈페이즈를 통해 물건을 주문받는다거나 특정한 데이터 베이스의 내용을 서비스해주고 싶은 경우 홈페이지를 사용하는 사람들로부터 이름이나 주소 등의 자료를 얻어야할 것이다. 그리고 원하는 상품을 고르게 한 후 찾고자 하는 자료의 이름을 입력하도록 해야 할 것이다. 이런 기능을 지원하는 홈페이지 작성 기법이 CGI이다. 쉽게 말해 CGI는 웹 서버를 운영하는 사람이 사용자들로부터 특정 정보를 얻어 자신의 프로그램에 사용하려고 할 때 필요한 인터페이스이다.
[네이버 지식백과] CGI [common gateway interface] (컴퓨터인터넷IT용어대사전, 2011. 1. 20., 일진사)
간 단히 말하자면 우리가 인터넷을 하게 되면 이 페이지를 서버에 요청하게 됩니다. 그렇게 되면 서버에는 HTML 파일을 요청한 클라이언트에게 전송하게 되고 우리가 보고자 하는 페이지를 볼 수 있는 것이지요. HTML은 Hypertext Markup Language 로서 웹페이지를 만들기 위해 만들어진 프로그래밍언어라고 보시면 됩니다. 지금 여러분들이 보시고 있는 이 블로그도 HTML로 만들어진 문서라고 생각하시면 됩니다. 그런데 이 HTML 문서를 가지고는 동적인 부분을 만들수 없답니다. 그렇기 때문에 필요한 것이 CGI라고 생각하시면 됩니다. 정적인 HTML에서는 불가능한 게임이나 페이지를 켜듄 상태에서 새로운 기능이 실행 된다던가 하는 그런 동적인 부분을 가능하게끔 해주는 것이지요. CGI는 유닉스 계열의 운영체제에서 돌아가며 도구로는 C, Perl 등이 주로 쓰인다고 합니다. 현재에는 여러분들이 자주 듣는 JSP나 ASP PHP 등과 같은 프로그래밍언어를 이용해서 주로 HTML을 동적으로 만든답니다!