http — HTTP modules¶
소스 코드: Lib/http/__init__.py
http는 하이퍼텍스트 전송 프로토콜로 작업 하기 위한 여러 모듈을 수집하는 패키지입니다:
http.client는 저수준 HTTP 프로토콜 클라이언트입니다. 고수준의 URL 열기는urllib.request를 사용합니다http.server는socketserver에 기반을 둔 기본적인 HTTP 서버 클래스를 포함합니다http.cookies는 쿠키를 사용하여 상태 관리를 구현하는 유틸리티가 있습니다http.cookiejar는 쿠키의 지속성을 제공합니다
The http module also defines the following enums that help you work with http related code:
- class http.HTTPStatus¶
Added in version 3.5.
HTTP 상태 코드, 이유 구문 그리고 긴 영문 설명의 집합을 정의하는
enum.IntEnum의 서브 클래스입니다.사용법:
>>> from http import HTTPStatus >>> HTTPStatus.OK HTTPStatus.OK >>> HTTPStatus.OK == 200 True >>> HTTPStatus.OK.value 200 >>> HTTPStatus.OK.phrase 'OK' >>> HTTPStatus.OK.description 'Request fulfilled, document follows' >>> list(HTTPStatus) [HTTPStatus.CONTINUE, HTTPStatus.SWITCHING_PROTOCOLS, ...]
HTTP 상태 코드¶
Supported,
IANA-registered status codes
available in http.HTTPStatus are:
코드 |
열거 이름 |
세부 사항 |
|---|---|---|
|
|
HTTP Semantics RFC 9110, Section 15.2.1 |
|
|
HTTP Semantics RFC 9110, Section 15.2.2 |
|
|
WebDAV RFC 2518, 섹션 10.1 |
|
|
힌트를 나타내는 HTTP 상태 코드 RFC 8297 |
|
|
HTTP Semantics RFC 9110, Section 15.3.1 |
|
|
HTTP Semantics RFC 9110, Section 15.3.2 |
|
|
HTTP Semantics RFC 9110, Section 15.3.3 |
|
|
HTTP Semantics RFC 9110, Section 15.3.4 |
|
|
HTTP Semantics RFC 9110, Section 15.3.5 |
|
|
HTTP Semantics RFC 9110, Section 15.3.6 |
|
|
HTTP Semantics RFC 9110, Section 15.3.7 |
|
|
WebDAV RFC 4918, 섹션 11.1 |
|
|
WebDAV 바인딩 확장 RFC 5842, 섹션 7.1 (실험적) |
|
|
HTTP의 델타 인코딩 RFC 3229, 섹션 10.4.1 |
|
|
HTTP Semantics RFC 9110, Section 15.4.1 |
|
|
HTTP Semantics RFC 9110, Section 15.4.2 |
|
|
HTTP Semantics RFC 9110, Section 15.4.3 |
|
|
HTTP Semantics RFC 9110, Section 15.4.4 |
|
|
HTTP Semantics RFC 9110, Section 15.4.5 |
|
|
HTTP Semantics RFC 9110, Section 15.4.6 |
|
|
HTTP Semantics RFC 9110, Section 15.4.8 |
|
|
HTTP Semantics RFC 9110, Section 15.4.9 |
|
|
HTTP Semantics RFC 9110, Section 15.5.1 |
|
|
HTTP Semantics RFC 9110, Section 15.5.2 |
|
|
HTTP Semantics RFC 9110, Section 15.5.3 |
|
|
HTTP Semantics RFC 9110, Section 15.5.4 |
|
|
HTTP Semantics RFC 9110, Section 15.5.5 |
|
|
HTTP Semantics RFC 9110, Section 15.5.6 |
|
|
HTTP Semantics RFC 9110, Section 15.5.7 |
|
|
HTTP Semantics RFC 9110, Section 15.5.8 |
|
|
HTTP Semantics RFC 9110, Section 15.5.9 |
|
|
HTTP Semantics RFC 9110, Section 15.5.10 |
|
|
HTTP Semantics RFC 9110, Section 15.5.11 |
|
|
HTTP Semantics RFC 9110, Section 15.5.12 |
|
|
HTTP Semantics RFC 9110, Section 15.5.13 |
|
|
HTTP Semantics RFC 9110, Section 15.5.14 |
|
|
HTTP Semantics RFC 9110, Section 15.5.15 |
|
|
HTTP Semantics RFC 9110, Section 15.5.16 |
|
|
HTTP Semantics RFC 9110, Section 15.5.17 |
|
|
HTTP Semantics RFC 9110, Section 15.5.18 |
|
|
HTCPCP/1.0 RFC 2324, 섹션 2.3.2 |
|
|
HTTP Semantics RFC 9110, Section 15.5.20 |
|
|
HTTP Semantics RFC 9110, Section 15.5.21 |
|
|
WebDAV RFC 4918, 섹션 11.3 |
|
|
WebDAV RFC 4918, 섹션 11.4 |
|
|
HTTP에서 초기 데이터(Early Data) 사용 RFC 8470 |
|
|
HTTP Semantics RFC 9110, Section 15.5.22 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
법적 장애를 보고하는 HTTP 상태 코드 RFC 7725 |
|
|
HTTP Semantics RFC 9110, Section 15.6.1 |
|
|
HTTP Semantics RFC 9110, Section 15.6.2 |
|
|
HTTP Semantics RFC 9110, Section 15.6.3 |
|
|
HTTP Semantics RFC 9110, Section 15.6.4 |
|
|
HTTP Semantics RFC 9110, Section 15.6.5 |
|
|
HTTP Semantics RFC 9110, Section 15.6.6 |
|
|
HTTP의 투명한 콘텐츠 협상 RFC 2295, 섹션 8.1 (실험적) |
|
|
WebDAV RFC 4918, 섹션 11.5 |
|
|
WebDAV 바인딩 확장 RFC 5842, 섹션 7.2 (실험적) |
|
|
HTTP 확장 프레임워크 RFC 2774, 섹션 7 (실험적) |
|
|
추가 HTTP 상태 코드 RFC 6585, 섹션 6 |
이전 버전과의 호환성을 유지하기 위해 열거값은 http.client 모듈에 상수 형태로도 있습니다. 열거명과 상수명은 동일합니다 (즉, http.HTTPStatus.OK는 http.client.OK로도 사용 가능합니다).
버전 3.7에서 변경: 421 MISDIRECTED_REQUEST 상태 코드 추가.
Added in version 3.8: 451 UNAVAILABLE_FOR_LEGAL_REASONS 상태 코드가 추가.
Added in version 3.9: 103 EARLY_HINTS, 418 IM_A_TEAPOT 및 425 TOO_EARLY 상태 코드가 추가되었습니다.
버전 3.13에서 변경: Implemented RFC9110 naming for status constants. Old constant names are preserved for backwards compatibility.
HTTP status category¶
Added in version 3.12.
The enum values have several properties to indicate the HTTP status category:
Property |
Indicates that |
세부 사항 |
|---|---|---|
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
|
|
HTTP Semantics RFC 9110, Section 15 |
사용법:
>>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
- class http.HTTPMethod¶
Added in version 3.11.
A subclass of
enum.StrEnumthat defines a set of HTTP methods and descriptions written in English.사용법:
>>> from http import HTTPMethod >>> >>> HTTPMethod.GET <HTTPMethod.GET> >>> HTTPMethod.GET == 'GET' True >>> HTTPMethod.GET.value 'GET' >>> HTTPMethod.GET.description 'Retrieve the target.' >>> list(HTTPMethod) [<HTTPMethod.CONNECT>, <HTTPMethod.DELETE>, <HTTPMethod.GET>, <HTTPMethod.HEAD>, <HTTPMethod.OPTIONS>, <HTTPMethod.PATCH>, <HTTPMethod.POST>, <HTTPMethod.PUT>, <HTTPMethod.TRACE>]
HTTP methods¶
Supported,
IANA-registered methods
available in http.HTTPMethod are:
Method |
열거 이름 |
세부 사항 |
|---|---|---|
|
|
HTTP Semantics RFC 9110, Section 9.3.1 |
|
|
HTTP Semantics RFC 9110, Section 9.3.2 |
|
|
HTTP Semantics RFC 9110, Section 9.3.3 |
|
|
HTTP Semantics RFC 9110, Section 9.3.4 |
|
|
HTTP Semantics RFC 9110, Section 9.3.5 |
|
|
HTTP Semantics RFC 9110, Section 9.3.6 |
|
|
HTTP Semantics RFC 9110, Section 9.3.7 |
|
|
HTTP Semantics RFC 9110, Section 9.3.8 |
|
|
HTTP/1.1 RFC 5789 |