의견.png

CGI

해시넷
dltmdgns (토론 | 기여)님의 2021년 7월 9일 (금) 11:09 판 (단점)
이동: 둘러보기, 검색

CGI(Common GateWay Interface)는 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 조합이다. 존재하는 많은 웹 서버 프로그램은 CGI의 기능을 이용할 수 있다. 씨지아이라고 읽는다.

개요

CGI는 Common GateWay Interface의 줄인말로 말 그대로 해석하면 외부 프로그램과 브라우저 사이의 일반적인 입출력 방법을 말한다. 즉, 웹 브라우저와 외부 프로그램의 상호간의 정보를 주고 받는 역할을 하는 프로그램이다. 웹 서버 프로그램의 기능의 주체는 미리 준비된 정보를 클라이언트(이용자)의 요구의 응답해 보내는 것이기 때문에 서버 프로그램 그룹에서는 정보를 그 장소에서 동적으로 생성하고 클라이언트에 송신하려는 조합을 작성하는 것이 불가능했다. 서버 프로그램에서 다른 프로그램을 불러내고, 그 처리 결과를 클라이언트에 송신하는 방법이 고안되었는데, 이를 실현하기 위한 서버 프로그램과 외부 프로그램과의 연계를 정한 것이 CGI다.[1]

구조

원리

장단점

장점

  • 매우 단순하고 다른 서버 사이드(server-side) 프로그래밍 언어에 비해 작업이 훨씬 쉽게 수행할 수 있다. 서버 사이드(server-side)란 네트워크의 한 방식인 클라이언트-서버 구조의 서버쪽에서 행해지는 처리를 말한다.
  • 언어, 플랫폼이 독립적이다.
  • 재 사용할 수 있는 CGI코드 라이브러리가 풍부하다.
  • CGI가 웹 서버에서 실행될 때 안전하다.
  • CGI코드를 수행하는데 특정 라이브러리가 필요하지 않기 때문에 매우 가볍다.

단점

  • 요청이 올 때마다 DB connection(연결)을 새로 열어야 해서 속도가 느리다.
  • HTTP 요청마다 새로운 프로세스를 만들기 때문에 서버 메모리를 많이 잡아먹는다.
  • 페이지 로드 사이에 데이터가 메모리에 캐시될 수 없다.
  • 스크립트 언어에서는 보통 코드를 실행할 때마다 코드를 매번 해석해야 한다.[2]


각주

  1. 공용 게이트웨이 인터페이스〉,《나무위키》
  2. bruteforce,〈Common Gateway Interface(CGI)란 무엇인가〉,《티스토리》,2020-08-18

참고자료

같이 보기


  의견.png 이 CGI 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.