gpffh1011

CGI(Common Gate Interface)/(PHP, Perl) 본문

IT기초상식

CGI(Common Gate Interface)/(PHP, Perl)

gpffh1011 2020. 5. 19. 23:35

 

 Web Server 7.0에서 CGI 요청이 처리되는 방식

 

 

CGI란 무엇인가


CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다.

그렇다면 여기에서는 CGI에 대하여 조금 쉽게 설명한 후에 그 개념에 대하여 더 자세하게 알아보도록 하겠다.

CGI란 사용자의 요청의 의한 서버의 응답이라고 할 수 있다. 예를 들어 방명록이나 게시판등이 대표적이라고 할 수 있는 것이다. CGI를 가능하게 하기 위해서는 사용자의 입력을 받아들이는 html문서와 입력을 처리하기 위한 CGI프로그램이 필요하다. CGI는 응용프로그램이기 때문에 html로는 만들 수 없고 웹서버의 환경의 따라 다르게 구현되는데 주로 C, Perl, Visual Basic 등이 사용되고 있다. 1990년대 후반의 CGI를 사용한 프로그램은 이 대부분인 까닭에, CGI가 우리가 보통 생각하는 무료 계정에 포함된 Perl로 구현된 것으로 오해하고 있다. CGI는 펄, 또는 그것에 속하는 특정 언어라는 인식도 널리 퍼져 있으나, 이것도 잘못된 것이다. 특히 요새는 PHP, ASP가 발전함에 따라 혼동을 하고 있는 것 같다.

그렇다면 PHP / ASP 는 무엇이고 CGI는 또 무엇일까? 대답은 PHP / ASP 는 CGI를 만들기 위한 한가지 도구이며 한가지 스크립팅 언어일 뿐이다. 예를 PHP로 들어서 설명한다면 PHP와 PERL은 수평관계라고 할 수있다. PHP도 언어고 PERL도 언어이다. PHP와 CGI는 상하관계이다. PHP는 언어지만 CGI는 규약, 동작 원리이다.

그렇다면 PHP는 CGI다, 라는 말이 무엇을 의미하는 것일까? 그것은 PHP로 만들어진 결과물은 CGI의 역할을 한다는 의미이다. 즉 결론은 PHP / ASP 도 CGI라고 할 수 있다.

CGI는 외부 프로그램을 실행하는 표준 방식으로 자리잡았으며 사용이 편리하다는 장점이 있지만, 서버에서 많은 프로그램을 수행하므로 서버에 무리를 준다는 단점을 지니고 있다

 

 

☆CGI 의 개념

CGI(Common Gate Interface)란 서버와 외부 스크립트 또는 프로그램과 상호작용할 때 이루어지는 입출력을 정의한 표준이며, 이 표준에 맞추어 만들어진 것이 CGI 스크립트 또는 CGI 프로그램며 CGI 프로그램은 어떤 프로그래밍 언어로도 만들 수 있다.

쉽게 설명하자면 두 개 이상의 컴퓨터간의 자료들을 주고받는 프로그램 또는 주고받는 것 자체를 의미한다고 할 수 있다. 웹페이지는 HTML언어에 의해서 기본적으로 만들어진다. 하지만 HTML만으로 모든 정보를 다 처리할 수는 없다. 왜냐하면 HTML언어는 서버로부터 HTML문서를 보여주는 역할만 할 뿐이기 때문이다. 따라서 홈페이지를 양방향으로 할 필요성이 있는 것이다. 이를 위하여 여러 방법을 고안해 내고 있는 것인데 그 중 하나가 외부 프로그램을 수행하여 그 결과를 HTML형태로 보여주는 방식인데 이것을 CGI라고 하는 것이다. 넓은 의미로는 CGI를 수행하는 프로그램을 CGI라고 하기도 한다. 그 대표적인 예가 방명록, 게시판, 메모장 등이다



출처: https://sfeg.tistory.com/196 [즐거운]