CGI(Common Gateway Interface)
Python의 CGI(Common Gateway Interface)는 웹 서버와 외부 프로그램 간의 통신을 위한 표준 인터페이스.
Python에서 CGI를 사용하면 동적 웹 콘텐츠를 생성할 수 있다.
주요 특징
- 웹 서버와 Python 프로그램 간의 통신 방식을 정의합니다.
- 클라이언트의 요청을 처리하고 동적으로 HTML 페이지를 생성합니다.
- 환경 변수와 표준 입출력을 통해 데이터를 주고받습니다.
프로그램의 구조
- 셔뱅 라인: #!/usr/bin/python3
- 필요한 모듈 임포트: import cgi
- CGI 필드 스토리지 객체 생성: form = cgi.FieldStorage()
- HTTP 헤더 출력: print(‘Content-type: text/html\n’)
- HTML 콘텐츠 생성 및 출력
장점
- 간단하고 이해하기 쉬운 구조
- 다양한 프로그래밍 언어 지원
- 웹 서버와 독립적으로 동작
단점
- 요청마다 새로운 프로세스를 생성하여 리소스 사용량이 많음
- 대규모 애플리케이션에서는 성능 저하 발생 가능
예시 코드
이 코드는 사용자의 이름을 입력받아 인사말을 출력하는 간단한 CGI 프로그램.
Python의 CGI는 간단한 웹 애플리케이션 개발에 적합하지만, 현대의 복잡한 웹 애플리케이션에는 WSGI나 ASGI와 같은 더 효율적인 인터페이스가 선호된다.