제1과목 1-10 CGI
페이지 정보
본문
1-10 CGI
⑴ CGI란 무엇인가?
HTML은 웹 문서를 만드는 기본 언어로서 월드와이드웹에서는 HTML에 의해 여러 가지 정보를 표현한다. 그러나 HTML만으로 모든 정보를 다 처리할 수 없다. HTML은 이미 만들어져 있는 단순한 정보를 전달하는 것에 불과하기 때문이다. DB 연동은 물론 사용자의 요구를 그대로 실현하는 등의 역할은 기대하기 어렵다.
이러한 문제를 해결하기 위해 도입된 방법이 사용자의 요청이 있으면 특정 프로그램을 실행한 뒤에 그 결과물을 HTML 형태로 만들어서 전달하는 것이다.
이것이 바로 CGI(Common Gateway Interface)이며 CGI의 대표적인 기능은 클라이언트에서 전송한 자료들을 DB에 저장하는 것과 클라이언트가 요청한 자료가 DB에 있을 경우 검색하여 출력하는 등의 활동 즉 DB와의 연동이다.
① 광의의 CGI
CGI는 개념이라는 차원.
CGI는 HTTP에 종속적인 일련의 방법이나 규약으로서 서버와 클라이언트가 즉 웹서버와 웹브라우저가 동적으로 데이터를 교환할 수 있는 인터페이스를 의미한다. 이러한 차원에서 본다면 이후의 PHP, ASP, JSP, ASP.NET도 넓게 보면 전부 CGI의 개념에 포함될 수 있다.
② 협의의 CGI
CGI는 웹프로그래밍 시스템의 한 종류라는 차원.
협의의 CGI는 C 또는 Perl로 작성하는 웹프로그래밍 시스템을 가리킨다. 이러한 기준에서 본다면 이후의 PHP, ASP 등은 CGI를 개선하는 차원의 시스템으로서 개발된 것들이라고 표현할 수 있다.
⑵ CGI의 역할 및 기능
전자상거래 웹사이트에서 방문 고객들이 회원 가입을 하거나 방명록이나 게시판에 어떤 의견을 남기거나 다른 사람이 남긴 게시판의 글들을 확인하는 등 웹 프로그램과 웹서버가 연동하여 클라이언트와 함께 서로 주고받는 약속 체계를 CGI라 하고 그때 사용하는 웹 프로그램을 흔히 CGI 프로그램(혹은 CGI 스크립트)이라고 한다.
특히 중요한 CGI의 기능은 데이터베이스와의 연동이다. 고객관리, 회원관리, 데이터관리를 위하여 데이터베이스와의 연동은 필수적인 기능이다.
클라이언트로부터 입력받은 내용을 데이터베이스에 기록하여 자료화하고 또 데이터베이스를 이용하여 클라이언트가 필요로 하는 자료를 전달하는 등 데이터베이스와의 연동으로 진정한 쌍방향(Interactive) 통신이 완성되는 것이다.