http
— HTTP modules¶
Вихідний код: Lib/http/__init__.py
http
— пакет, який збирає кілька модулів для роботи з протоколом передачі гіпертексту:
http.client
є низькорівневим клієнтом протоколу HTTP; для відкриття URL високого рівня використовуйтеurllib.request
http.server
містить основні класи HTTP-серверів на основіsocketserver
http.cookies
має утиліти для здійснення управління станом за допомогою файлів cookiehttp.cookiejar
забезпечує збереження файлів cookie
The http
module also defines the following enums that help you work with http related code:
- class http.HTTPStatus¶
Added in version 3.5.
Підклас
enum.IntEnum
, який визначає набір кодів стану HTTP, фраз причин і довгих описів, написаних англійською мовою.Використання:
>>> 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, Section 6.2.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.2.2 |
|
|
WebDAV RFC 2518, Розділ 10.1 |
|
|
Код статусу HTTP для вказівки підказок RFC 8297 |
|
|
HTTP/1.1 RFC 7231, Section 6.3.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.3.2 |
|
`` ПРИЙНЯТО`` |
HTTP/1.1 RFC 7231, Section 6.3.3 |
|
|
HTTP/1.1 RFC 7231, Section 6.3.4 |
|
|
HTTP/1.1 RFC 7231, Section 6.3.5 |
|
|
HTTP/1.1 RFC 7231, Section 6.3.6 |
|
|
HTTP/1.1 RFC 7233, Section 4.1 |
|
|
WebDAV RFC 4918, Розділ 11.1 |
|
|
Розширення зв’язування WebDAV RFC 5842, розділ 7.1 (експериментальний) |
|
|
Дельта-кодування в HTTP RFC 3229, Розділ 10.4.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.4.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.4.2 |
|
|
HTTP/1.1 RFC 7231, Section 6.4.3 |
|
|
HTTP/1.1 RFC 7231, Section 6.4.4 |
|
|
HTTP/1.1 RFC 7232, Section 4.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.4.5 |
|
|
HTTP/1.1 RFC 7231, Section 6.4.7 |
|
|
Permanent Redirect RFC 7238, Section 3 (Experimental) |
|
|
HTTP/1.1 RFC 7231, Section 6.5.1 |
|
|
HTTP/1.1 Authentication RFC 7235, Section 3.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.2 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.3 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.4 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.5 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.6 |
|
|
HTTP/1.1 Authentication RFC 7235, Section 3.2 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.7 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.8 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.9 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.10 |
|
|
HTTP/1.1 RFC 7232, Section 4.2 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.11 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.12 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.13 |
|
|
HTTP/1.1 Range Requests RFC 7233, Section 4.4 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.14 |
|
|
HTTPS/1.0 RFC 2324, Розділ 2.3.2 |
|
|
HTTP/2 RFC 7540, Section 9.1.2 |
|
|
WebDAV RFC 4918, Section 11.2 |
|
|
WebDAV RFC 4918, Розділ 11.3 |
|
|
WebDAV RFC 4918, Розділ 11.4 |
|
|
Використання ранніх даних у HTTP RFC 8470 |
|
|
HTTP/1.1 RFC 7231, Section 6.5.15 |
|
|
Додаткові коди стану HTTP RFC 6585 |
|
|
Додаткові коди стану HTTP RFC 6585 |
|
|
Додаткові коди стану HTTP RFC 6585 |
|
|
Код статусу HTTP для повідомлення про юридичні перешкоди RFC 7725 |
|
|
HTTP/1.1 RFC 7231, Section 6.6.1 |
|
|
HTTP/1.1 RFC 7231, Section 6.6.2 |
|
|
HTTP/1.1 RFC 7231, Section 6.6.3 |
|
|
HTTP/1.1 RFC 7231, Section 6.6.4 |
|
|
HTTP/1.1 RFC 7231, Section 6.6.5 |
|
|
HTTP/1.1 RFC 7231, Section 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 |
Щоб зберегти зворотну сумісність, значення enum також присутні в модулі 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:
метод |
Назва переліку |
Подробиці |
---|---|---|
|
|
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 |