사이트 내 전체검색
[linux] CGI란?
로빈아빠
https://cmd.kr/server/399 URL이 복사되었습니다.

본문

CGI란?

* CGI란 무엇인가?

1990년 초반 웹(WWW)서비스의 초기 HTML문서는 웹서버에서 클라이언트(Web browser)로의 일방적인 정보전달만을 했었습니다.

정보를 제공하는 측에서는 웹사이트에 필요한 정보를 올려두면 그 정보를 원하는 측에서는 받아가거나 참조하는 단방향의 정보전달만을 했었기 때문에 정보제공측과 정보수해측의 의사교환이나 정보교환은 이루어지질 않았으며, 이를 해결하기 위해서 CGI의 필요성이 대두되게 된 것입니다.


CGI(Common Gateway Interface)란 웹서버(정보제공측)와 클라이언트(정보이용측)간에 필요한 정보교환을 가능하게 해주는 일종의 웹인터페이스라고(일종의 프로그램) 할 수 있습니다.

CGI를 이용하게 됨으로써 정보를 제공하는 웹서버측에서는 웹서버이용자들의 동향이나 의사 및 요구사항들을 수렴하여 일방적이 아닌 양방향의 정보교환이 가능하게 되는 것입니다.


CGI는 웹에서 사용하는 일종의 프로그램이기 때문에 인터넷 초보자나 프로그램에 익숙하지 않으신 분들에게는 어렵게 느껴질 수 있습니다.

현재 전문적인 CGI프로그램을 제작하는 사람들은 기존에 컴퓨터프로그램을 해왔던 분들이거나 CGI프로그램에 대한 어느정도의 교육을 받으신 분들이 대부분입니다.

하지만 꼭 CGI프로그램을 제작하기 위해서 전문적인 교육이 필요한 것만은 아닙니다.

CGI제작을 도와주는 다양한 툴이나 쉬은 스크립트언어들이 있기 때문에 조금만 의욕을 가지고 적극적으로 시도한다면 초보자들도 자기에게 필요한 CGI는 어느정도 만들어 사용할 수 있으리라 생각합니다.


* CGI프로그램의 주된 용도

그러면 CGI프로그램의 구체적인 용도는 어떤 것들이 있을까요?

아래의 리스트는 웹사이트에서 사용되는 CGI의 주된 용도를 나열한 것입니다.

회원등록 및 조회 CGI 프로그램
메일링리스트 CGI 프로그램
게시판 CGI 프로그램
방명록 CGI 프로그램
폼메일 CGI 프로그램 (웹에서 메일을 보낼 수 있도록하는 프로그램)
전자상거래에서 사용하는 상품주문 CGI 프로그램
기타 주문서 및 신청양식등

위의 리스트는 웹호스팅서비스를 이용하시는 분들이 CGI프로그램을 사용하는 주된 용도를 나열한 것입니다.

일반적으로 가장많은 용도는 상호간의 의견을 게시하거나 필요한 파일을 올려둘 수도 있는 웹게시판(Web Board)이며 문답형식이나 의견수렴, 정보교환 및 자료실로 활용됩니다.

회원등록을 받거나 등록된 회원을 조회해 보기위한 용도로 CGI프로그램을 사용하는 곳은 회원만이 사용하는 회원제홈페이지나 유료사이트를 제작하는 경우, 또는 동호회 홈페이지나 협회홈페이지등에 주로 사용되는 것입니다.

요즘은 전자상거래(EC)가 많은 주목을 받고 있기 때문에 전자상거래용 CGI프로그램의 수요가 많아지게 되었습니다.

또한 폼메일 (Formmail)이란 민원접수나 의견제시, 궁금한 질문등을 웹브라우즈를 통해 방문해 있는 홈페이지에서 담당자에게 메일로 보낼수 있는 폼(Form)을 말하는 것입니다.


* CGI프로그램제작을 위한 도구

앞에서 설명드린 용도로 CGI프로그램을 제작하기 위해 필요한 프로그램언어는 어떤것들이 있을까요?

일반적인 프로그램제작언어중에서 CGI제작을 하게해주는 언어들도 있습니다.

하지만 웹사이트에서 CGI를 제작하기 위한 용도로는 다음과 같은 언어들이 주로 사용됩니다.

Perl : 가장일반적으로 사용되는 스크립트언어
Java : 멀티미디어 및 CGI용 전문언어
PHP : 실행속도가 빠른 스크립트언어
C, C++, gcc : 실행속도가 가장빠르며 가장 강력한 컴파일러언어
msql, Oracle : CGI 개발언어들과 연동되어 사용되는 데이터베이스

배우기 쉽고 일반적으로 가장많이 사용되고 있는 언어로는 단연 Perl을 들수가 있습니다.

인터프리터언어이기 때문에 컴파일러언어보다 실행속도는 다소 떨어지지만 원하는 폼과 양식을 쉽게 구현할 수 있으며 수정 및 이식성이 좋으므로 UNIX, Linux, Solaris, BSD 및 NT등 어떤 플렛폼에서도 실행이 가능합니다.

Java는 원래 가전제품에서 전자제어를 하기위한 목적으로 개발되어 현재는 웹에서의 멀티미디어 구현을 위해 주로 사용되고 있는 언어로서 CGI제작을 위해서도 많이 사용되고 있습니다.

Java를 사용하기 위해서는 어느정도의 학습과 교육이 필요하며 현재는 Java만 전문적으로 사용하여 각종 어플리케이션을 개발하는 Java전문개발자가 있을 정도로 그 사용범위는 넓다고 할 수 있습니다.

PHP는 스크립트언어이면서도 실행속도가 빠르기 때문에 요즘엔 Perl을 사용하는 사람들이 Perl 대신에 PHP를 사용하는 경향이 많습니다.

C보다는 실행속도면에서 다소 떨어지지만 비교적 빠른 속도와 배우기 쉽고 구현이 쉽다는 면에서 CGI개발용으로 많이 사용되고 있는 언어입니다.

C와 gcc는 컴파일러언어로서 상업용 CGI를 개발하기위한 용도로 많이 사용됩니다.

특히 인터넷을 활용한 전자상거래에서는 빠른 실행속도와 정보보안이 필히 수반되어야 하는데 이를 충족시켜주는 언어라고 할 수 있습니다.

하지만 원래 C라는 언어가 시스템프로그램을 위해 개발된 언어이므로 프로그램밍하기가 쉬운 것이 아니므로 초보자에게는 다소 어려움이 있습니다.

CGI용 프로그램을 개발하다 보면 데이터베이스를 이용하여야 할 경우도 있으며 이럴 경우에는 위의 언어들은 msql이라는 데이터베이스나 Oracle등과 연동되어서 사용되기도 합니다.

이상으로 CGI의 일반적인 개념과 개발도구들에 대해서 알아보았습니다.

댓글목록

등록된 댓글이 없습니다.

1,139 (11/23P)

Search

Copyright © Cmd 명령어 13.59.205.182