Códigos de estado HTTP
Cuando un visitante accede a una página web, el navegador del visitante envía una solicitud al servidor donde se encuentra la página. Antes de que el navegador reciba y muestre la página, el servidor donde se encuentra dicha página devuelve un encabezado de información (server header) que contiene el código de estado HTTP para responder a la solicitud del navegador.
El término en inglés para el código de estado HTTP esHTTP Status Code。
A continuación se muestran los códigos de estado HTTP más comunes:
- 1xx (códigos de estado informativos): Indica que la solicitud recibida se está procesando.
- 2xx (códigos de estado de éxito): Indica que la solicitud se procesó correctamente.
- 3xx (códigos de estado de redirección): Se necesitan acciones adicionales para completar esta solicitud.
- 4xx (códigos de estado de error del cliente): Indica que la solicitud contiene errores de sintaxis o no puede completarse.
- 5xx (códigos de estado de error del servidor): El servidor encontró un error al procesar la solicitud.
Clasificación de los códigos de estado HTTP
El código de estado HTTP consta de tres dígitos decimales. El primer dígito decimal define el tipo de código de estado. Las respuestas se dividen en cinco categorías: respuesta informativa (100–199), respuesta exitosa (200–299), redirección (300–399), error del cliente (400–499) y error del servidor (500–599):
| Categoría | Descripción de la categoría |
|---|---|
| 1** | Informativa: el servidor recibió la solicitud y necesita que el solicitante continúe con la operación. |
| 2** | Exitosa: la operación fue recibida y procesada correctamente. |
| 3** | Redirección: se requieren más acciones para completar la solicitud. |
| 4** | Error del cliente: la solicitud contiene errores de sintaxis o no puede completarse. |
| 5** | Error del servidor: el servidor encontró un error al procesar la solicitud. |
Lista de códigos de estado HTTP:
| Código de estado | Nombre en inglés del código de estado | Descripción |
|---|---|---|
| 100 | Continue | Continuar. El cliente debe continuar con su solicitud. |
| 101 | Switching Protocols | Cambio de protocolo. El servidor cambia de protocolo según la solicitud del cliente. Solo puede cambiar a un protocolo más avanzado, por ejemplo, a una nueva versión del protocolo HTTP. |
| 200 | OK | Solicitud exitosa. Generalmente se usa para solicitudes GET y POST. |
| 201 | Created | Creado. La solicitud se realizó correctamente y se creó un nuevo recurso. |
| 202 | Accepted | Aceptado. Se ha aceptado la solicitud, pero aún no se ha procesado por completo. |
| 203 | Non-Authoritative Information | Información no autorizada. La solicitud fue exitosa. Pero la información meta devuelta no está en el servidor original, sino que es una copia. |
| 204 | No Content | Sin contenido. El servidor procesó la solicitud correctamente, pero no devolvió contenido. Sin actualizar la página web, se asegura que el navegador continúe mostrando el documento actual. |
| 205 | Reset Content | Restablecer contenido. El servidor procesó la solicitud correctamente; el terminal del usuario (por ejemplo, el navegador) debe restablecer la vista del documento. Este código de respuesta se puede usar para borrar los campos de formulario del navegador. |
| 206 | Partial Content | Contenido parcial. El servidor procesó correctamente una parte de la solicitud GET. |
| 300 | Multiple Choices | Múltiples opciones. El recurso solicitado puede estar disponible en varias ubicaciones; en consecuencia, se puede devolver una lista de características y direcciones del recurso para que el terminal del usuario (por ejemplo, el navegador) elija. |
| 301 | Moved Permanently | Movido permanentemente. El recurso solicitado se ha movido permanentemente a una nueva URI; la información de respuesta incluirá la nueva URI y el navegador se redirigirá automáticamente a la nueva URI. De ahora en adelante, cualquier nueva solicitud debe usar la nueva URI en su lugar. |
| 302 | Found | Movido temporalmente. Similar a 301. Pero el recurso solo se ha movido temporalmente. El cliente debe continuar usando la URI original. |
| 303 | See Other | Ver otras direcciones. Similar a 301. Se puede ver con solicitudes GET y POST. |
| 304 | Not Modified | No modificado. El recurso solicitado no ha sido modificado; cuando el servidor devuelve este código de estado, no devuelve ningún recurso. El cliente suele almacenar en caché los recursos visitados y, al proporcionar un encabezado, indica que solo desea recibir los recursos modificados después de una fecha determinada. |
| 305 | Use Proxy | Usar proxy. Se debe acceder al recurso solicitado a través de un proxy. |
| 306 | Unused | Código de estado HTTP que ya está en desuso. |
| 307 | Temporary Redirect | Redirección temporal. Similar a 302. Se redirige mediante una solicitud GET. |
| 400 | Bad Request | Error de sintaxis en la solicitud del cliente; el servidor no puede entenderla. |
| 401 | Unauthorized | La solicitud requiere autenticación de la identidad del usuario. |
| 402 | Payment Required | Reservado para uso futuro. |
| 403 | Forbidden | El servidor comprende la solicitud del cliente, pero se niega a ejecutarla. |
| 404 | Not Found | El servidor no puede encontrar el recurso (página web) según la solicitud del cliente. Con este código, los diseñadores de sitios web pueden configurar una página personalizada que diga "El recurso que solicitó no se puede encontrar". |
| 405 | Method Not Allowed | El método en la solicitud del cliente está prohibido. |
| 406 | Not Acceptable | El servidor no puede completar la solicitud según las características de contenido de la solicitud del cliente. |
| 407 | Proxy Authentication Required | La solicitud requiere autenticación de proxy. Similar a 401, pero el solicitante debe usar un proxy para autorizarse. |
| 408 | Request Time-out | El servidor esperó demasiado tiempo la solicitud del cliente; se agotó el tiempo de espera. |
| 409 | Conflict | El servidor puede devolver este código al completar una solicitud PUT del cliente; se produjo un conflicto al procesar la solicitud. |
| 410 | Gone | El recurso solicitado por el cliente ya no existe. 410 es diferente de 404; si el recurso existía antes y ahora se ha eliminado permanentemente, se puede usar el código 410. Los diseñadores de sitios web pueden especificar la nueva ubicación del recurso mediante el código 301. |
| 411 | Length Required | El servidor no puede procesar la solicitud enviada por el cliente sin Content-Length. |
| 412 | Precondition Failed | Error en las condiciones previas de la solicitud del cliente. |
| 413 | Request Entity Too Large | Debido a que la entidad de la solicitud es demasiado grande, el servidor no puede procesarla y, por lo tanto, rechaza la solicitud. Para evitar solicitudes continuas del cliente, el servidor puede cerrar la conexión. Si el servidor solo no puede procesarla temporalmente, incluirá un encabezado de respuesta Retry-After. |
| 414 | Request-URI Too Large | La URI de la solicitud es demasiado larga (la URI normalmente es una dirección web); el servidor no puede procesarla. |
| 415 | Unsupported Media Type | El servidor no puede procesar el formato de medios adjunto a la solicitud. |
| 416 | Requested range not satisfiable | El rango solicitado por el cliente no es válido. |
| 417 | Expectation Failed (fallo de expectativa) | El servidor no puede cumplir el comportamiento esperado especificado en el campo Expect de la cabecera de la solicitud. |
| 418 | I'm a teapot | El código de estado 418 es en realidad una broma del Día de las Bromas de Abril. Está definido en el RFC 2324, un archivo de broma sobre el Protocolo de control de cafeteras hipertextual (HTCPCP). En esta broma, el código de estado 418 se añadió al protocolo HTTP como una broma. |
| 500 | Internal Server Error | Error interno del servidor; no se puede completar la solicitud. |
| 501 | Not Implemented | El servidor no admite la funcionalidad solicitada; no se puede completar la solicitud. |
| 502 | Bad Gateway | Cuando el servidor que actúa como puerta de enlace o proxy intenta ejecutar la solicitud, recibe una respuesta no válida del servidor remoto. |
| 503 | Service Unavailable | Debido a sobrecarga o mantenimiento del sistema, el servidor no puede procesar temporalmente la solicitud del cliente. La duración del retraso puede incluirse en la cabecera Retry-After del servidor. |
| 504 | Gateway Time-out | El servidor que actúa como puerta de enlace o proxy no obtuvo la solicitud a tiempo del servidor remoto. |
| 505 | HTTP Version not supported | El servidor no admite la versión del protocolo HTTP de la solicitud; no se puede completar el procesamiento. |