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/1.1 RFC 7231, 섹션 6.2.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.2.2 |
|
|
WebDAV RFC 2518, 섹션 10.1 |
|
|
힌트를 나타내는 HTTP 상태 코드 RFC 8297 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.3.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.3.2 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.3.3 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.3.4 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.3.5 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.3.6 |
|
|
HTTP/1.1 RFC 7233, 섹션 4.1 |
|
|
WebDAV RFC 4918, 섹션 11.1 |
|
|
WebDAV 바인딩 확장 RFC 5842, 섹션 7.1 (실험적) |
|
|
HTTP의 델타 인코딩 RFC 3229, 섹션 10.4.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.4.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.4.2 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.4.3 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.4.4 |
|
|
HTTP/1.1 RFC 7232, 섹션 4.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.4.5 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.4.7 |
|
|
영구 리디렉션 RFC 7238, 섹션 3 (실험적) |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.1 |
|
|
HTTP/1.1 인증 RFC 7235, 섹션 3.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.2 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.3 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.4 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.5 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.6 |
|
|
HTTP/1.1 인증 RFC 7235, 섹션 3.2 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.7 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.8 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.9 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.10 |
|
|
HTTP/1.1 RFC 7232, 섹션 4.2 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.11 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.12 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.13 |
|
|
HTTP/1.1 범위 요청 RFC 7233, 섹션 4.4 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.14 |
|
|
HTCPCP/1.0 RFC 2324, 섹션 2.3.2 |
|
|
HTTP/2 RFC 7540, 섹션 9.1.2 |
|
|
WebDAV RFC 4918, 섹션 11.2 |
|
|
WebDAV RFC 4918, 섹션 11.3 |
|
|
WebDAV RFC 4918, 섹션 11.4 |
|
|
HTTP에서 초기 데이터(Early Data) 사용 RFC 8470 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.5.15 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
법적 장애를 보고하는 HTTP 상태 코드 RFC 7725 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.6.1 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.6.2 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.6.3 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.6.4 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.6.5 |
|
|
HTTP/1.1 RFC 7231, 섹션 6.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
상태 코드가 추가되었습니다.
HTTP status category¶
Added in version 3.12.
The enum values have several properties to indicate the HTTP status category:
Property |
Indicates that |
세부 사항 |
---|---|---|
|
|
HTTP/1.1 RFC 7231, Section 6 |
|
|
HTTP/1.1 RFC 7231, Section 6 |
|
|
HTTP/1.1 RFC 7231, Section 6 |
|
|
HTTP/1.1 RFC 7231, Section 6 |
|
|
HTTP/1.1 RFC 7231, Section 6 |
사용법:
>>> 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/1.1 RFC 7231, Section 4.3.1 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.2 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.3 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.4 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.5 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.6 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.7 |
|
|
HTTP/1.1 RFC 7231, Section 4.3.8 |
|
|
HTTP/1.1 RFC 5789 |