다음은 hello.py라는 CGI 스크립트에 연결된 간단한 링크입니다. 이 파일은 /var/www/cgi-bin 디렉토리에 보관되며 다음과 같은 내용을 담고 있습니다. CGI 프로그램을 실행하기 전에 chmod 755 hello.py를 사용하여 파일 모드를 변경했는지 확인하십시오. 파일을 실행 가능하게 만드는 UNIX 명령입니다.
예
#!/usr/bin/python print "Content-type:text/html\r\n\r\n" print '</html>' print '</head>' print '</title>Hello Word - First CGI Program<//title>' print '<//head>' print '</body>' print '</h2>Hello Word! This is my first CGI program<//h2>' print '<//body>' print '<//html>'
출력
hello.py를 클릭하면 다음과 같은 출력이 생성됩니다. -
Hello Word! This is my first CGI program
이 hello.py 스크립트는 출력을 STDOUT 파일, 즉 화면에 쓰는 간단한 Python 스크립트입니다. 한 가지 중요하고 추가 기능이 있습니다. 인쇄할 첫 번째 줄입니다. Content-type:text/html\r\n\r\n . 이 줄은 브라우저로 다시 전송되고 브라우저 화면에 표시할 콘텐츠 유형을 지정합니다.
지금쯤이면 CGI의 기본 개념을 이해하고 Python을 사용하여 복잡한 CGI 프로그램을 많이 작성할 수 있습니다. 이 스크립트는 RDBMS와 같은 정보를 교환하기 위해 다른 외부 시스템과도 상호 작용할 수 있습니다.
HTTP 헤더
Content-type:text/html\r\n\r\n 줄은 콘텐츠를 이해하기 위해 브라우저로 전송되는 HTTP 헤더의 일부입니다. 모든 HTTP 헤더는 다음과 같은 형식입니다 -
HTTP Field Name: Field Content
예
Content-type: text/html\r\n\r\n
CGI 프로그래밍에서 자주 사용할 다른 중요한 HTTP 헤더가 거의 없습니다.
시니어 번호 | 헤더 및 설명 |
---|---|
1 | 콘텐츠 유형: 반환되는 파일의 형식을 정의하는 MIME 문자열입니다. 예는 Content-type:text/html입니다. |
2 | 만료:날짜 정보가 무효가 되는 날짜입니다. 브라우저에서 페이지를 새로 고쳐야 하는 시기를 결정하는 데 사용됩니다. 유효한 날짜 문자열은 1998년 1월 1일 12:00:00 GMT 형식입니다. |
3 | 위치:URL 요청된 URL 대신 반환되는 URL입니다. 이 필드를 사용하여 요청을 모든 파일로 리디렉션할 수 있습니다. |
4 | 최종 수정 날짜:날짜 리소스를 마지막으로 수정한 날짜입니다. |
5 | 콘텐츠 길이:N 반환되는 데이터의 길이(바이트)입니다. 브라우저는 이 값을 사용하여 파일의 예상 다운로드 시간을 보고합니다. |
6 | 쿠키 설정:문자열 문자열을 통해 전달된 쿠키 설정 |