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

파이썬 CGI 프로그래밍에서 꼭 알아야 할 핵심 HTTP 헤더

HTTP 헤더란 무엇인가?

파이썬 CGI 프로그램은 웹 서버를 통해 브라우저로 응답을 전송하며, 이때 실제 내용(본문)보다 먼저 출력되는 것이 바로 HTTP 헤더입니다. 가장 기본적인 예는 다음과 같습니다.

Content-type: text/html\r\n\r\n

여기서 \r\n\r\n(연속된 빈 줄)은 헤더 부분과 본문을 구분하는 구분자 역할을 하며, 브라우저는 이 헤더를 해석해 전달받은 데이터가 어떤 형식인지 판단합니다.

HTTP 헤더는 일반적으로 다음과 같은 형식으로 작성됩니다.

HTTP 필드 이름 - 필드 내용

예시: Content-type - text/html\r\n\r\n

CGI 프로그래밍에서 자주 사용되는 주요 HTTP 헤더

CGI 프로그래밍에서 빈번하게 활용되는 중요한 HTTP 헤더는 다음과 같습니다.

번호 헤더 설명
1 Content-type: 반환되는 파일의 형식을 정의하는 MIME 문자열입니다. 예: Content-type: text/html
2 Expires: Date 정보가 무효화되는 날짜입니다. 브라우저는 이 값을 참고해 페이지를 언제 새로 고침해야 하는지 판단합니다. 유효한 날짜 형식의 예는 01 Jan 1998 12:00:00 GMT 입니다.
3 Location: URL 요청된 URL 대신 반환되는 URL입니다. 이 필드를 활용하면 요청을 다른 파일이나 페이지로 리다이렉트(redirect)할 수 있습니다.
4 Last-modified: Date 해당 리소스가 마지막으로 수정된 날짜입니다.
5 Content-length: N 반환되는 데이터의 길이를 바이트 단위로 나타냅니다. 브라우저는 이 값을 이용해 파일의 예상 다운로드 시간을 계산해 사용자에게 표시합니다.
6 Set-Cookie: String 문자열로 전달된 쿠키를 설정합니다.

헤더 작성 시 유의 사항

모든 HTTP 헤더는 반드시 빈 줄(\r\n\r\n)로 끝나야 하며, 그 뒤에 실제 HTML 본문이 이어져야 합니다. 특히 Location 헤더를 사용하면 별도의 본문 없이 즉시 다른 페이지로 이동시키는 리다이렉션 처리가 가능하므로, 로그인 후 페이지 전환이나 조건에 따른 경로 변경 등에 매우 유용하게 활용됩니다.