Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python CGI 환경 변수 총정리: 종류와 활용법

Python CGI 환경 변수란?

CGI(Common Gateway Interface) 프로그램은 서버에서 제공하는 다양한 환경 변수(Environment Variables)에 접근할 수 있습니다. 이러한 환경 변수는 클라이언트의 요청 정보, 서버 정보 등을 담고 있어 CGI 프로그램을 작성할 때 매우 중요한 역할을 합니다.

아래 표는 CGI 프로그램에서 사용할 수 있는 주요 환경 변수들을 정리한 것입니다.

주요 CGI 환경 변수 목록

번호변수명 및 설명
1CONTENT_TYPE
콘텐츠의 데이터 타입입니다. 클라이언트가 첨부 데이터를 서버로 전송할 때 사용되며, 대표적인 예로 파일 업로드가 있습니다.
2CONTENT_LENGTH
쿼리 정보의 길이입니다. POST 방식 요청에서만 사용할 수 있습니다.
3HTTP_COOKIE
설정된 쿠키를 키(key)와 값(value) 쌍의 형태로 반환합니다.
4HTTP_USER_AGENT
User-Agent 요청 헤더 필드로, 요청을 보낸 사용자 에이전트(웹 브라우저)에 대한 정보를 포함합니다.
5PATH_INFO
CGI 스크립트의 경로 정보입니다.
6QUERY_STRING
GET 방식 요청과 함께 전송되는 URL 인코딩된 정보입니다.
7REMOTE_ADDR
요청을 보낸 원격 호스트의 IP 주소입니다. 로깅이나 사용자 인증에 유용하게 활용됩니다.
8REMOTE_HOST
요청을 보낸 호스트의 완전한 도메인 이름(FQDN)입니다. 이 정보를 사용할 수 없는 경우 REMOTE_ADDR로 IP 주소를 확인할 수 있습니다.
9REQUEST_METHOD
요청에 사용된 메서드입니다. 가장 일반적인 메서드는 GET과 POST입니다.
10SCRIPT_FILENAME
CGI 스크립트의 전체 경로입니다.
11SCRIPT_NAME
CGI 스크립트의 이름입니다.
12SERVER_NAME
서버의 호스트명 또는 IP 주소입니다.
13SERVER_SOFTWARE
서버에서 실행 중인 소프트웨어의 이름과 버전입니다.

환경 변수 출력 예제 코드

다음은 Python으로 작성된 간단한 CGI 프로그램으로, 사용 가능한 모든 CGI 환경 변수를 화면에 나열해 줍니다.

#!/usr/bin/python
import os
print "Content-type: text/html\r\n\r\n";
print "<font size=+1>Environment</font><br>";
for param in os.environ.keys():
    print "<b>%20s</b>: %s<br>" % (param, os.environ[param])

코드 설명

  • import os: 환경 변수에 접근하기 위해 os 모듈을 임포트합니다.
  • os.environ.keys(): 사용 가능한 모든 환경 변수의 이름(키)을 가져옵니다.
  • 반복문을 통해 각 변수의 이름과 값을 HTML 형식으로 출력합니다.

이 스크립트를 웹 서버의 CGI 디렉터리에 배치하고 실행하면, 현재 서버 환경에서 접근 가능한 모든 CGI 환경 변수와 그 값들을 한눈에 확인할 수 있습니다. CGI 프로그래밍을 처음 시작할 때 디버깅 및 학습 목적으로 매우 유용한 예제입니다.