Leer en inglés

Compartir a través de


Compatibilidad con HTTP en .NET

El Protocolo de transferencia de hipertexto (o HTTP) es un protocolo para solicitar recursos de un servidor web. La clase System.Net.Http.HttpClient expone la posibilidad de enviar solicitudes HTTP y recibir respuestas HTTP de un recurso identificado por un URI. Hay muchos tipos de recursos disponibles en la Web y HTTP define un conjunto de métodos de solicitud para acceder a estos recursos.

Métodos de solicitud HTTP

Los métodos de solicitud se diferencian por varios factores, primero por su verbo, pero también por las siguientes características:

HTTP method Es idempotente Se puede almacenar en caché Es seguro
GET ✔️ Sí ✔️ Sí ✔️ Sí
POST ❌ No Casi nunca ❌ No
PUT ✔️ Sí ❌ No ❌ No
PATCH ❌ No ❌ No ❌ No
DELETE ✔️ Sí ❌ No ❌ No
HEAD ✔️ Sí ✔️ Sí ✔️ Sí
OPTIONS ✔️ Sí ❌ No ✔️ Sí
TRACE ✔️ Sí ❌ No ✔️ Sí
CONNECT ❌ No ❌ No ❌ No

El método POST solo se puede almacenar en caché cuando están presentes los encabezados de respuesta Cache-Control o Expires adecuados. Esto es muy poco común en la práctica.

Códigos de estado HTTP

.NET proporciona compatibilidad completa con el protocolo HTTP, lo que tiene en cuenta la mayoría del tráfico de Internet, con HttpClient. Para más información, consulte Realización de solicitudes HTTP con la clase HttpClient. Las aplicaciones reciben errores de protocolo HTTP al capturar una excepción HttpRequestException. Los códigos de estado HTTP se notifican en HttpResponseMessage con HttpResponseMessage.StatusCode o en HttpRequestException con HttpRequestException.StatusCode en caso de que el método llamado no devuelva un mensaje de respuesta. Para más información sobre el control de errores, consulte Control de errores HTTP; y, para más información sobre los códigos de estado, consulte RFC 9110, Semántica HTTP: Códigos de estado.

Códigos de estado informativos

Los códigos de estado informativos reflejan una respuesta provisional. La mayoría de las respuestas provisionales, por ejemplo HttpStatusCode.Continue, se administran internamente con HttpClient y nunca se exponen al usuario.

Códigos de estado correctos

Los códigos de estado correctos indican que la solicitud del cliente se recibió correctamente, y que se entendió y aceptó.

Códigos de estado de redireccionamiento

Los códigos de estado de redireccionamiento requieren que el agente de usuario tome medidas para satisfacer la solicitud. El redireccionamiento automático está activado de forma predeterminada, pero se puede cambiar con HttpClientHandler.AllowAutoRedirect o SocketsHttpHandler.AllowAutoRedirect.

Códigos de estado de error HTTP

Los códigos de estado de error del cliente indican que la solicitud del cliente no era válida.

Códigos de estado de error del servidor

Los códigos de estado de error del servidor indican que el servidor encontró una condición inesperada que impedía que se completara la solicitud.

Vea también