콘텐츠로 건너뛰기

python 웹에서 cgi로 보기

 

#!/usr/bin/python
print “Content-type: text/html; charset=utf-8”
print “Pragma: no-cache\n”
print “Test, Python CGI”

 

#!/usr/bin/python 은 파이썬 실행 파일이 있는 path를 설정하는 부분입니다.

html 로 표현하기 위해서는 이 소스의 결과물이 html 형식으로 표현된다는 것을 알려줘야 하는데,

이것이 바로 http 구조에서 말하는 헤더입니다.

http 프로토콜의 구조는 시작행-헤더-빈공백-본문 으로 이루어져 있습니다.

Content-type 과 charset을 적어주는 것은 http 헤더이고, no-cache는 캐시없이 로딩하겠다는 의미입니다.

그런데 가장 중요한 것은 \n (공백행)인데,

http 헤더와 본문 사이는 반드시 \n 이라는 공백행이 있어야 한다는군요.

결국 python 가지고 놀아보자고 cgi 띄울 때 했던 실수 두가지.

1) py 확장자가 아니라 cgi 확장자를 이용할 것. (서버 관리자가 그렇게 설정해놨음..)

2) html 문서의 헤더와 본문 사이에 \n 공백행 문자를 삽입할 것.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다