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
'코딩 공부 > CS' 카테고리의 다른 글
인코딩, 해싱, 암호에 대하여 (0) | 2023.12.25 |
---|---|
[HTTP] HTTP 헤더 - 콘텐츠 협상 (Content Negotiation) (0) | 2023.11.10 |
[Network] TCP와 UDP (0) | 2023.05.18 |
[CS] 프로세스와 스레드 (0) | 2023.02.25 |
[CS] 프레임워크와 라이브러리 (0) | 2023.02.13 |