2. cgi
2. cgi
CGI(23. 11. 20)
- Common Gateway Interface
- 웹 서버가 외부 프로그램을 실행할 수 있도록 해주는 인터페이스 명세(specification)
- 외부 프로그램 = 동적 웹 콘텐츠 생성하는 역할
- c, c++, java, php , go …
- 웹 서버와 CGI 프로그램(Application) 간의 규칙
- 환경변수나 표준입출력을 다룰 수 있는 프로그램 언어라면 어떤 언어든지 확장하여 이용 가능
- 실행속도나 텍스트 처리의 용이함 등의 이유로 perl이나 python, ruby 등의 스크립트 언어를 주로 사용
CGI 프로그램
- 컴파일 방식
- 기계어. 컴파일된 상태
- c++, c
- 인터프리터 방식
- 스크립트 언어
- Asp, Php, Python, Per
- 스크립트 엔진
- 해당 스크립트를 실행할 수 있는 엔진
- 즉시 코드를 수정할 수 있음
CGI Spec
입출력
- 주로 표준 입출력 사용
Meta-Variables ( 메타 변수 )
- 웹서버에서 CGI 프로그램으로 전달되는 요청 관련 데이터
- 주로 환경변수 (environment variable) 형태로 구현
- SERVER_NAME
- SERVER_PORT
- REMOTE_ADDR
- REQUEST_METHOD
- CONTENT_TYPE
- CONTENT_LENGTH
Script ( 스크립트)
- 서버에 의해 호출되는 소프트웨어
- 런타임에 해석되는 일련의 명령문
장점
- 언어, 플랫폼에 독립적
- 구조가 단순하고 다른 서버 사이드 프로그래밍 언어에 비해 쉽게 수행
단점
- 속도가 느림
- 매 요청마다 DB Connection을 새로 열어야 합니다.
- Http 요청마다 새로운 프로세스를 만들어 서버 메모리를 사용합니다.
- 데이터가 메모리에 캐시 될 수 없다.
Java CGI
- 일반적인 컴파일된 .class는 java application server와 통신이 불가능하다
- 다른 프로그램 JCGI 가 필요
Fest CGI
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.