본문 바로가기
코딩 공부/CS

CGI(Common Gateway Interface)

by 현장 2023. 5. 18.

CGI(Common Gateway Interface)

웹 서버와 애플리케이션 사이에 데이터를 주고받는 규약입니다.

CGI 규칙에 따라서 만들어진 프로그램을 CGI 프로그램이라고 하며 CGI프로그램 종류로는 컴파일 방식(C, C++, Java 등)과 인터프리터 방식(PHP, Python 등)이 있습니다.

CGI의 장점과 단점


- CGI 장점

  • 언어, 플랫폼 독립적이다(스펙만 준수하면 된다).
  • 매우 단순하고 다른 server-side 프로그래밍 언어에 비해 advanced task를 훨씬 쉽게 수행할 수 있다.
  • 재사용할 수 있는 CGI 코드 라이브러리가 풍부하다.
  • CGI가 웹서버에서 실행될 때 안전하다.
  • CGI 코드를 수행하는데 특정 라이브러리가 필요하지 않기 때문에 매우 가볍다.  

 

- CGI 단점

  • 느리다(요청이 올 때마다 DB connection을 새로 열어야 한다).
  • HTTP 요청마다 새로운 프로세스를 만들기 때문에 서버 메모리를 많이 잡아먹는다.
    (servlet은 요청마다 스레드를 만든다.)
  • 페이지 로드 사이에 데이터가 메모리에 캐시될 수 없다.

 

CGI와 서블릿

- 인터프리터 방식 CGI 프로그램

- 서블릿과 서블릿 컨테이너

Refference