http
— HTTP modules¶
Código fuente: Lib/http/__init__.py
http
es un paquete que recopila varios módulos para trabajar con el Protocolo de transferencia de hipertexto:
http.client
es un cliente del protocolo HTTP de bajo nivel; para la apertura de URL de alto nivel useurllib.request
http.server
contiene clases de servidor HTTP básicas basadas ensocketserver
http.cookies
tiene utilidades para implementar la gestión de estados mediante cookieshttp.cookiejar
provee persistencia de cookies
El módulo http
también define las siguientes enumeraciones que lo ayudan a trabajar con código relacionado con http:
- class http.HTTPStatus¶
Added in version 3.5.
Una subclase de
enum.IntEnum
que define un conjunto de códigos de estado HTTP, frases de motivo y descripciones largas escritas en inglés.Uso:
>>> 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, ...]
Códigos de estado HTTP¶
Los códigos de estado registrados por IANA disponibles en http.HTTPStatus
son:
Código |
Nombre de la enumeración |
Detalle |
---|---|---|
|
|
HTTP Semantics RFC 9110, Section 15.2.1 |
|
|
HTTP Semantics RFC 9110, Section 15.2.2 |
|
|
WebDAV RFC 2518, Sección 10.1 |
|
|
Un código de estado HTTP para indicar pistas 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, Sección 11.1 |
|
|
Extensiones de enlace a WebDAV RFC 5842, Sección 7.1 (Experimental) |
|
|
Codificación delta en HTTP RFC 3229, Sección 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, Sección 2.3.2 |
|
|
HTTP Semantics RFC 9110, Section 15.5.20 |
|
|
HTTP Semantics RFC 9110, Section 15.5.21 |
|
|
WebDAV RFC 4918, Sección 11.3 |
|
|
WebDAV RFC 4918, Sección 11.4 |
|
|
Uso de datos iniciales en HTTP RFC 8470 |
|
|
HTTP Semantics RFC 9110, Section 15.5.22 |
|
|
Códigos de estados HTTP adicionales RFC 6585 |
|
|
Códigos de estados HTTP adicionales RFC 6585 |
|
|
Códigos de estados HTTP adicionales RFC 6585 |
|
|
Un código de estado HTTP para reportar obstáculos legales 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 |
|
|
Negociación transparente de contenido en HTTP RFC 2295, Sección 8.1 (Experimental) |
|
|
WebDAV RFC 4918, Sección 11.5 |
|
|
Extensiones de unión WebDAV RFC 5842, Sección 7.2 (Experimental) |
|
|
Un framework de extensión HTTP RFC 2774, Sección 7 (Experimental) |
|
|
Códigos de estados HTTP adicionales RFC 6585, Sección 6 |
Con el fin de preservar la compatibilidad con versiones anteriores, los valores de la enumeración están también presentes en el módulo http.client
en forma de constantes. El nombre de la enumeración es el mismo que el nombre de la constante (ej. http.HTTPStatus.OK
se encuentra también disponible como http.client.OK
).
Distinto en la versión 3.7: Se agregó el código de estado 421 MISDIRECTED_REQUEST
.
Added in version 3.8: Se agregó el código de estado 451 UNAVAILABLE_FOR_LEGAL_REASONS
.
Added in version 3.9: Agregados códigos de estado 103 EARLY_HINTS
, 418 IM_A_TEAPOT
y 425 TOO_EARLY
.
Distinto en la versión 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 |
Detalle |
---|---|---|
|
|
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 |
Uso:
>>> from http import HTTPStatus >>> HTTPStatus.OK.is_success True >>> HTTPStatus.OK.is_client_error False
- class http.HTTPMethod¶
Added in version 3.11.
Una subclase de
enum.StrEnum
que define un conjunto de métodos HTTP y sus descripciones escritas en inglés.Uso:
>>> 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>]
Métodos HTTP¶
Los métodos registrados por IANA disponibles en http.HTTPMethod
son:
Método |
Nombre de la enumeración |
Detalle |
---|---|---|
|
|
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 |