본문 바로가기
카테고리 없음

CGI(Common Gateway Interface)란 무엇인가?

by mickey7 2022. 12. 27.

1.정의

CGI란 'Common Gateway Interface'의 약자로, 웹 서버와 게이트웨이 사이에서 정보를 주고받는 데 사용하는 인터페이스

CGI는 웹 브라우저의 요청에 따라 웹 서버가 프로그램을 호출하는 장치, 프로그램은 입력 내용에 따른 결과를 HTML형식으로 반환

#게이트웨이는 호환성이 없는 여러 통신망의 프로토콜 변환을 수행하는 장치

#인터페이스 상호 간의 정보 교환을 위해 만들어진 프로토콜

 

2.설명

위의 정의가 한 번에 와닿지 않을 수 있어서 내가 이해한 대로 풀어쓰자면 정적페이지와 달리 동적페이지를 생성하려면 사용자가 입력한 정보를 처리하기 위해 프로그램이 필요한데 여기서 웹 서버와 그 프로그램 간의 통신을 위해 사용되는 것이 CGI(Common Gateway Interface)


#동적페이지 : 브라우저의 요청에 따라 내용이 바뀌는 페이지(에 내용을 입력하거나 '보내기' 버튼을 눌렀을 때 등)

#폼(Form) : 데이터를 입력하기 위한 부품

 

3.CGI의 동작과정 예시

CGI의 동작과정은 다음과 같다.

HTML 문서 중 사용자에 대해 동적으로 반응해야 하는 부분이 있다면 이 부분은 특정한 방식으로 응용 프로그램을 호출하게 된다.

이 응용 프로그램은 필요한 동작을 수행하고 그 결과를 다시 보내주면, 이 결과가 화면에 나타나 마치 웹 페이지가 원하는 요구를 알아서 처리해 준 것처럼 보인다.

예로 들면 웹 게시판에서 사용자가 쓴 글을 데이터로 받은 다음 이 데이터를 이용해 다시 HTML 문서를 생성하여 브라우저에게 전달한다. 게시판에 있어서 CGI의 역할은 사용자가 자판으로 치는 문자를 HTML 문서로 변환하는 역할을 한다. 브라우저는 이미 작성된 HTML을 보여주는 역할만 하는 것이므로 미리 작성하여 준 화면만을 보여줄 수 밖에 없는데 CGI를 통해 우리는 이것에 실시간으로 접근하여 글을 남길 수 있다. 게시판 프로그램은 웹 페이지에 직접 쓸 수 있는 "연필"과 같은 기능을 하는 것이다.

(출처:https://technet.tmaxsoft.com/upload/download/online/webtob/pver-20201021-000001/administrator-guide/appendix_cgi_sample.html)

 

 

 

 


출처 : JavaScript가 보이는 그림책