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.StrEnum
that 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 |