>  기사  >  백엔드 개발  >  파이썬에서 헤더는 무엇을 의미합니까?

파이썬에서 헤더는 무엇을 의미합니까?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-26 18:04:2818884검색

일반적으로 HTTP 메시지에는 클라이언트에서 서버로 보내는 요청 메시지와 서버에서 클라이언트로 보내는 응답 메시지가 포함됩니다. 두 가지 유형의 메시지 모두 시작 줄, 하나 이상의 헤더 필드, 헤더 필드를 끝내는 빈 줄, 선택적 메시지 본문으로 구성됩니다. HTTP 헤더 필드는 일반 헤더, 요청 헤더, 응답 헤더, 엔터티 헤더의 네 부분으로 구성됩니다. 각 헤더 필드는 도메인 이름, 콜론(:) 및 도메인 값으로 구성됩니다. 도메인 이름은 대소문자를 구분하지 않습니다. 필드 값 앞에 공백을 얼마든지 추가할 수 있으며, 각 줄의 시작 부분에 최소한 하나의 공백이나 탭을 사용하여 여러 줄로 확장할 수 있습니다.

파이썬에서 헤더는 무엇을 의미합니까?

일반 헤더 필드(일반 헤더)

일반 헤더 필드에 요청이 포함됩니다. 및 응답 모든 메시지에서 지원되는 헤더 필드는 메시지와 관련된 가장 기본적인 정보를 제공합니다.

Connection: 클라이언트와 서버가 요청/응답 연결과 관련된 옵션을 지정할 수 있습니다. .

날짜: 메시지가 생성된 날짜를 나타내는 날짜 및 시간 스탬프를 제공합니다.

MIME-Version: 보낸 사람이 사용하는 MIME 버전을 제공합니다.

Trailer: 메시지가 청크 전송 인코딩을 사용하는 경우 이 헤더를 사용하여 메시지의 트레일러 부분에 있는 헤더 세트를 나열할 수 있습니다.

Transfer-Encoding: 메시지의 안정적인 전송을 보장하기 위해 메시지에 어떤 인코딩 방법이 사용되는지 수신측에 알려줍니다.

Upgrade: 발신자가 사용하기 위해 "업그레이드"할 수 있는 새 버전과 프로토콜을 제공합니다.

Via: 메시지가 통과하는 중간 노드를 표시합니다.

범용 헤더 필드를 확장하려면 통신 당사자 모두가 이 확장을 지원해야 합니다. 지원되지 않는 범용 헤더 필드가 있는 경우 일반적으로 엔터티 헤더 필드로 처리됩니다. 다음은 UPnP 메시지에 사용되는 몇 가지 일반적인 헤더 필드에 대한 간략한 소개입니다.

Cache-Control 헤더 필드

Cache -Control은 요청과 응답이 따르는 캐싱 메커니즘을 지정합니다. 요청 메시지 또는 응답 메시지에서 Cache-Control을 설정해도 다른 메시지를 처리하는 동안 캐싱 프로세스가 수정되지 않습니다.

캐시 요청 시 지침에는 캐시 없음, 저장 없음, 최대 수명, 최대 오래됨, 최소 새로 고침, 캐시된 경우에만 포함됩니다.

응답 메시지의 지침에는 공개, 비공개, 캐시 없음, 저장 없음, 변환 없음, 재검증 필수, 프록시 재검증 및 최대 수명이 포함됩니다.

각 메시지에 있는 지침의 의미는 다음과 같습니다.

Public은 응답이 모든 캐시에 의해 캐시될 수 있음을 나타냅니다.

Private은 단일 사용자에 대한 응답 메시지의 전부 또는 일부를 공유 캐시에서 처리할 수 없음을 나타냅니다. 이를 통해 서버는 다른 사용자의 요청에 유효하지 않은 사용자의 부분 응답만 설명할 수 있습니다.

no-cache는 요청 또는 응답 메시지를 캐시할 수 없음을 나타냅니다.

no-store는 중요한 정보가 의도치 않게 공개되는 것을 방지하기 위해 사용됩니다. 요청 메시지에 이를 보내면 요청 메시지와 응답 메시지 모두 캐싱을 사용하게 됩니다.

max-age는 클라이언트가 지정된 시간(초)보다 크지 않은 수명으로 응답을 받을 수 있음을 나타냅니다.

min-fresh 는 클라이언트가 현재 시간에 지정된 시간을 더한 것보다 짧은 응답 시간으로 응답을 받을 수 있음을 나타냅니다.

max-stale은 클라이언트가 제한 시간 이후에 응답 메시지를 받을 수 있음을 나타냅니다. max-stale 메시지 값을 지정하면 클라이언트는 지정된 제한 시간 값을 초과하는 응답 메시지를 수신할 수 있습니다.

관련 추천: "Python 비디오 튜토리얼"

날짜 헤더 필드

#🎜🎜 #Date 헤더 필드는 메시지가 전송된 시간을 나타냅니다. 시간의 설명 형식은 rfc822에 의해 정의됩니다. 예를 들어 날짜:월,200104년 12월 31일:25:57GMT입니다. Date에 기술된 시간은 세계 표준시를 나타냅니다. 이를 현지 시간으로 변환하려면 사용자의 시간대를 알아야 합니다.

Pragma 헤더 필드

Pragma 헤더 필드는 구현별 지침을 포함하는 데 사용되며 가장 일반적으로 사용되는 것은 Pragma:no-cache입니다. . HTTP/1.1 프로토콜에서 그 의미는 Cache-Control:no-cache와 동일합니다.

요청 메시지

요청 메시지의 첫 번째 줄은 다음 형식입니다.

MethodSPRequest-URISPHTTP -VersionCRLFMethod는 Request-URI로 완성된 메소드의 경우 OPTIONS, GET, HEAD, POST, PUT, DELETE 및 TRACE를 포함하여 이 필드가 대소문자를 구분함을 의미합니다.

Methods GET 및 HEAD는 모든 일반 웹 서버에서 지원되어야 하며, 다른 모든 방법의 구현은 선택 사항입니다.

GET 메소드는 요청-URI로 식별된 정보를 검색합니다.

HEAD 메소드도 Request-URI로 식별된 정보를 검색하지만 응답 시 메시지 본문을 반환하지 않습니다.

POST 메소드는 요청에 포함된 엔터티 정보를 받도록 서버에 요청할 수 있으며 양식을 제출하고 뉴스 그룹, BBS, 메일 그룹 및 데이터베이스에 메시지를 보내는 데 사용할 수 있습니다.

SP는 공간을 의미합니다. 요청-URI는 URI 형식을 따릅니다. 이 필드가 별표(*)인 경우 해당 요청이 특정 리소스 주소에 대한 것이 아니라 서버 자체에 대한 것임을 나타냅니다. HTTP- 버전은 HTTP/1.1과 같이 지원되는 HTTP 버전을 나타냅니다. CRLF는 캐리지 리턴 문자를 나타냅니다. 요청 헤더 필드를 통해 클라이언트는 요청 또는 클라이언트에 대한 추가 정보를 서버에 전달할 수 있습니다.

요청 헤더 필드에는 Accept, Accept-Charset, Accept-Encoding, Accept-Language, Authorization, From, Host, If-Modified-Since, If-Match, If-None-Match, If-Range 필드가 포함될 수 있습니다. , If -Range, If-Unmodified-Since, Max-Forwards, 프록시 인증, 범위, 참조자, 사용자 에이전트.

요청 헤더 필드를 확장하려면 통신 당사자 모두의 지원이 필요합니다. 지원되지 않는 요청 헤더 필드가 있는 경우 일반적으로 엔터티 헤더 필드로 처리됩니다.

일반적인 요청 메시지:

GET http://download.google.com/somedata.exe 
Host: download.google.com 
Accept:/ 
Pragma: no-cache 
Cache-Control: no-cache 
Referer: http://download.google.com/ 
User-Agent:Mozilla/4.04en 
Range:bytes=554554-

위 예제의 첫 번째 줄은 HTTP 클라이언트(브라우저나 다운로더일 수 있음)가 GET 메서드를 통해 지정된 URL에서 파일을 얻는다는 것을 나타냅니다. 갈색 부분은 요청 헤더 필드 정보를 나타내고, 녹색 부분은 일반 헤더 부분을 나타냅니다.

Host 헤더 필드

Host 헤더 필드는 요청된 리소스의 인터넷 호스트와 포트 번호를 지정하며 요청된 URL의 원래 서버 또는 게이트웨이 위치를 나타내야 합니다. HTTP/1.1 요청에는 호스트 헤더 필드가 포함되어야 합니다. 그렇지 않으면 시스템은 400 상태 코드를 반환합니다.

Referer 헤더 필드

Referer 헤더 필드를 사용하면 클라이언트가 요청 URI의 소스 리소스 주소를 지정할 수 있으며, 이를 통해 서버는 로그인, 캐시 최적화 등에 사용할 수 있는 대체 목록을 생성할 수 있습니다. 또한 유지 관리 목적으로 중단되거나 결함이 있는 연결을 추적할 수 있습니다. 요청한 URL에 자체 URL 주소가 없으면 Referer를 보낼 수 없습니다. 부분 URL 주소가 지정된 경우 이 주소는 상대 주소여야 합니다.

Range 헤더 필드

Range 헤더 필드는 엔터티의 하나 이상의 하위 범위를 요청할 수 있습니다. 예를 들어,
는 처음 500바이트를 나타냅니다: bytes=0-499
는 두 번째 500바이트를 나타냅니다: bytes=500-999
는 마지막 500바이트를 나타냅니다: bytes=-500
는 500바이트 이후의 범위를 나타냅니다: bytes=500-
첫 번째 및 마지막 바이트: bytes=0-0,-1
여러 범위를 동시에 지정: bytes=500-600,601-999

그러나 무조건 GET에 Range 요청 헤더가 포함되어 있으면 서버는 이 요청 헤더를 무시할 수 있습니다. , 응답은 200(OK) 대신 상태 코드 206(PartialContent)으로 반환됩니다.

User-Agent 헤더 필드

User-Agent 헤더 필드의 내용에는 요청한 사용자 정보가 포함됩니다.

응답 메시지

응답 메시지의 첫 번째 줄은 다음 형식입니다.

HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF

HTTP -Version은 지원되는 HTTP 버전(예: HTTP/1.1)을 나타냅니다. 상태 코드는 3자리 결과 코드입니다. Reason-Phrase는 상태 코드에 대한 간단한 텍스트 설명을 제공합니다. Status-Code는 주로 자동 기계 식별에 사용되며 Reason-Phrase는 주로 사용자의 이해를 돕기 위해 사용됩니다. Status-Code의 첫 번째 숫자는 응답 범주를 정의하고 마지막 두 숫자는 분류 효과가 없습니다. 첫 번째 숫자는 5가지 다른 값을 가질 수 있습니다.

1xx: 요청이 수신되었으며 계속 처리됨을 나타내는 정보 응답 클래스

2xx: 작업이 성공적으로 수신되고 이해되었으며 수락되었음을 나타내는 처리 성공 응답 클래스

3xx: 지정된 작업을 완료하려면 Heavy Directed 응답 클래스가 추가 처리를 거쳐야 합니다.

4xx: 클라이언트 오류, 클라이언트 요청에 구문 오류가 있거나 올바르게 실행될 수 없습니다.

5xx: 서버 오류, 서버가 올바른 요청을 올바르게 실행할 수 없습니다.

응답 헤더 필드를 사용하면 서버가 상태 줄에 배치할 수 없는 추가 정보를 전달할 수 있습니다. 이 필드는 주로 서버 정보와 요청 URI에 대한 추가 정보를 설명합니다. 응답 헤더 필드에는 Age, Location, Proxy-Authenticate, Public, Retry-After, Server, Vary, Warning 및 WWW-Authenticate가 포함됩니다. 응답 헤더 필드의 확장에는 통신 당사자 모두의 지원이 필요합니다. 지원되지 않는 응답 헤더 필드가 있는 경우 일반적으로 엔터티 헤더 필드로 처리됩니다.

일반적인 응답 메시지:

HTTP/1.0200OK 
Date:Mon,31Dec200104:25:57GMT 
Server:Apache/1.3.14(Unix) 
Content-type:text/html 
Last-modified:Tue,17Apr200106:46:28GMT 
Etag:”a030f020ac7c01:1e9f” 
Content-length:39725426 
Content-range:bytes554554-40279979/40279980

위 내용은 파이썬에서 헤더는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.