http
— HTTP 모듈¶
소스 코드: Lib/http/__init__.py
http
는 하이퍼텍스트 전송 프로토콜로 작업 하기 위한 여러 모듈을 수집하는 패키지입니다:
http.client
는 저수준 HTTP 프로토콜 클라이언트입니다. 고수준의 URL 열기는urllib.request
를 사용합니다http.server
는socketserver
에 기반을 둔 기본적인 HTTP 서버 클래스를 포함합니다http.cookies
는 쿠키를 사용하여 상태 관리를 구현하는 유틸리티가 있습니다http.cookiejar
는 쿠키의 지속성을 제공합니다
또한 http
모듈은 http 관련 코드 작업에 도움이 되는 다음 열거형을 정의합니다:
- 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 상태 코드¶
http.HTTPStatus
에서 지원하는 IANA에 등록된 상태 코드는 다음과 같습니다:
코드 |
열거 이름 |
세부 사항 |
---|---|---|
|
|
HTTP Semantics RFC 9110, 섹션 15.2.1 |
|
|
HTTP Semantics RFC 9110, 섹션 15.2.2 |
|
|
WebDAV RFC 2518, 섹션 10.1 |
|
|
힌트를 나타내는 HTTP 상태 코드 RFC 8297 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.1 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.2 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.3 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.4 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.5 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.6 |
|
|
HTTP Semantics RFC 9110, 섹션 15.3.7 |
|
|
WebDAV RFC 4918, 섹션 11.1 |
|
|
WebDAV 바인딩 확장 RFC 5842, 섹션 7.1 (실험적) |
|
|
HTTP의 델타 인코딩 RFC 3229, 섹션 10.4.1 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.1 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.2 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.3 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.4 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.5 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.6 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.8 |
|
|
HTTP Semantics RFC 9110, 섹션 15.4.9 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.1 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.2 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.3 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.4 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.5 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.6 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.7 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.8 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.9 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.10 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.11 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.12 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.13 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.14 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.15 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.16 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.17 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.18 |
|
|
HTCPCP/1.0 RFC 2324, 섹션 2.3.2 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.20 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.21 |
|
|
WebDAV RFC 4918, 섹션 11.3 |
|
|
WebDAV RFC 4918, 섹션 11.4 |
|
|
HTTP에서 초기 데이터(Early Data) 사용 RFC 8470 |
|
|
HTTP Semantics RFC 9110, 섹션 15.5.22 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
추가 HTTP 상태 코드 RFC 6585 |
|
|
법적 장애를 보고하는 HTTP 상태 코드 RFC 7725 |
|
|
HTTP Semantics RFC 9110, 섹션 15.6.1 |
|
|
HTTP Semantics RFC 9110, 섹션 15.6.2 |
|
|
HTTP Semantics RFC 9110, 섹션 15.6.3 |
|
|
HTTP Semantics RFC 9110, 섹션 15.6.4 |
|
|
HTTP Semantics RFC 9110, 섹션 15.6.5 |
|
|
HTTP Semantics RFC 9110, 섹션 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 상태 범주¶
Added in version 3.12.
The enum values have several properties to indicate the HTTP status category:
프로퍼티 |
나타내는 것 |
세부 사항 |
---|---|---|
|
|
HTTP Semantics RFC 9110, 섹션 15 |
|
|
HTTP Semantics RFC 9110, 섹션 15 |
|
|
HTTP Semantics RFC 9110, 섹션 15 |
|
|
HTTP Semantics RFC 9110, 섹션 15 |
|
|
HTTP Semantics RFC 9110, 섹션 15 |
사용법:
>>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
- class http.HTTPMethod¶
Added in version 3.11.
HTTP 메서드와 영문 설명의 집합을 정의하는
enum.StrEnum
의 서브 클래스입니다.사용법:
>>> 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 메서드¶
http.HTTPMethod
에서 지원하는 IANA에 등록된 메서드는 다음과 같습니다:
메서드 |
열거 이름 |
세부 사항 |
---|---|---|
|
|
HTTP Semantics RFC 9110, 섹션 9.3.1 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.2 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.3 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.4 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.5 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.6 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.7 |
|
|
HTTP Semantics RFC 9110, 섹션 9.3.8 |
|
|
HTTP/1.1 RFC 5789 |