Lista de códigos de estado HTTP

El código de estado HTTP es parte de la primera línea de la respuesta del servidor para solicitudes HTTP .  Es un número decimal de tres dígitos. El primer dígito indica la clase de estado . El código de respuesta suele ir seguido de una frase explicativa separada por espacios en inglés, que explica a la persona el motivo de tal respuesta. Ejemplos:

El cliente aprende del código de respuesta sobre los resultados de su solicitud y determina qué acciones tomar a continuación. El conjunto de códigos de estado es un estándar y se describen en los documentos RFC pertinentes . La introducción de nuevos códigos solo debe realizarse después de consultar con el IETF . Sin embargo, hay dos códigos conocidos en uso que no se mencionan en el RFC: 449 Retry With. También se menciona la frase explicativa "Responder con" [1] en la especificación para WebDAV en Microsoft Developer Network presentada por Microsoft e 509 Bandwidth Limit Exceededintroducida en cPanel .

Es posible que el cliente no conozca todos los códigos de estado, pero debe responder de acuerdo con la clase de código. Actualmente hay cinco clases de códigos de estado.

El servidor web de Internet Information Services en sus archivos de registro, además de los códigos de estado estándar, utiliza subcódigos, escribiéndolos con un punto después del principal. Al mismo tiempo, este subcódigo no se coloca en las respuestas del servidor; el administrador del servidor lo necesita para poder determinar con mayor precisión las fuentes de los problemas.

Lista de revisión

La siguiente es una lista general de todos los códigos de respuesta descritos en este artículo:

Descripción de los códigos

Informativo

Esta clase contiene códigos que informan sobre el proceso de transmisión. Al trabajar con la versión 1.0 del protocolo, los mensajes con dichos códigos deben ignorarse. En la versión 1.1, el cliente debe estar preparado para aceptar esta clase de mensaje como una respuesta normal, pero el servidor no necesita enviar nada. Los mensajes del propio servidor contienen solo la línea de inicio de la respuesta y, si es necesario, algunos campos de encabezado específicos de la respuesta. Los servidores proxy deben enviar dichos mensajes más allá del servidor al cliente.

Éxito

Los mensajes de esta clase informan sobre casos de aceptación y procesamiento exitosos de una solicitud de cliente. Según el estado, el servidor también puede enviar encabezados y un cuerpo de mensaje.

Redirección

Los códigos de esta clase le dicen al cliente que se debe realizar otra solicitud para que la operación tenga éxito, generalmente en un URI diferente . De esta clase, cinco códigos 301, 302, y 303se refieren directamente a redireccionamientos. La dirección a la que el cliente debe realizar una solicitud la indica el servidor en el . Esto permite que se utilicen fragmentos en el URI de destino. 305307Location

De acuerdo con los últimos estándares, el cliente solo puede redirigir sin preguntar al usuario si se solicita el segundo recurso utilizando el método GETo HEAD[7] . Las especificaciones anteriores decían que para evitar viajes de ida y vuelta, se debe preguntar al usuario después de la quinta redirección consecutiva [16] . Para todos los redireccionamientos, si el método de solicitud no fue HEAD, se debe incluir un breve mensaje de hipertexto con la dirección de destino en el cuerpo de la respuesta, de modo que, en caso de error, el usuario pueda navegar por sí mismo.

Los desarrolladores de HTTP notan que muchos clientes, al redirigir con códigos 301, 302aplican erróneamente el método GETal segundo recurso, a pesar de que la primera solicitud fue con un método diferente (la mayoría de las veces PUT) [17] . Para evitar malentendidos, se recomienda utilizar los códigos HTTP/1.1 303y y en lugar de . Solo necesita cambiar el método si el servidor respondió . En otros casos, la siguiente solicitud se realiza con el método original. 307302303

El comportamiento de los clientes para varios redireccionamientos se describe en la tabla:

Estado de respuesta almacenamiento en caché Si el método no es GET o HEAD
301 Moved Permanently Puedes como de costumbre. Pida confirmación al usuario y solicite otro recurso utilizando el método original.
307 Temporary Redirect Solo es posible si un título Cache-Controlo Expires.
302 Found(HTTP/1.1)
302 Moved Temporarily(HTTP/1.0)
303 See Other esta prohibido Ir automáticamente, pero usando el GET.

Error del cliente

La clase de códigos 4xxestá destinada a indicar errores en el lado del cliente. Cuando se utilizan todos los métodos excepto HEAD, el servidor debe devolver una explicación de hipertexto para el usuario en el cuerpo del mensaje.

Error del servidor

Los códigos 5xxestán dedicados a casos de excepciones no controladas al realizar operaciones en el lado del servidor. Para todas las situaciones que no sean el uso del método HEAD, el servidor DEBE incluir una explicación en el cuerpo del mensaje que el cliente mostrará al usuario.

Véase también

Notas

  1. 1 2 2.2.6 449 "Reintentar con código de estado" // Protocolo de creación y control de versiones distribuido web (WebDAV): Extensiones de cliente. Archivado el 5 de octubre de 2009 en Wayback Machine en MSDN .
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 " 6.1.1 Código de estado y frase de motivo Archivado desde junio 7, 2018 en Wayback Machine » en RFC 2068
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 RFC 2616 . Fecha de acceso: 29 de julio de 2009. Archivado desde el original el 7 de marzo de 2011.
  4. 1 2 3 IETF Draft WebDAV Advanced Collections Protocol  - S.4.2.5 . Fecha de acceso: 18 de mayo de 2012. Archivado desde el original el 9 de julio de 2012.
  5. IETF Draft WebDAV Advanced Collections Protocol  - S.10 . Fecha de acceso: 18 de mayo de 2012. Archivado desde el original el 9 de julio de 2012.
  6. rfc5842 . Consultado el 12 de septiembre de 2017. Archivado desde el original el 10 de octubre de 2017.
  7. 1 2 3 4 5 6 7 8 9 10 RFC 2616 "10.3 Redirección 3xx" (pág. 61) . Fecha de acceso: 29 de julio de 2009. Archivado desde el original el 7 de marzo de 2011.
  8. rfc7538 . Consultado el 12 de septiembre de 2017. Archivado desde el original el 16 de abril de 2015.
  9. IETF Draft WebDAV Advanced Collections Protocol  - S.4.3.1.1 . Fecha de acceso: 18 de mayo de 2012. Archivado desde el original el 9 de julio de 2012.
  10. rfc7540 . Consultado el 12 de septiembre de 2017. Archivado desde el original el 23 de junio de 2015.
  11. 1 2 3 4 RFC 6585
  12. 1 2 Borrador de IETF Un nuevo código de estado HTTP para informar obstáculos legales . Consultado el 6 de marzo de 2013. Archivado desde el original el 22 de mayo de 2013.
  13. RFC 2295 Negociación de contenido transparente en HTTP  -S.8.1 . Fecha de acceso: 18 de mayo de 2012. Archivado desde el original el 8 de junio de 2012.
  14. IETF Draft WebDAV Advanced Collections Protocol  - S.7.1 . Fecha de acceso: 18 de mayo de 2012. Archivado desde el original el 9 de julio de 2012.
  15. 1 2 3 4 5 6 7 Páginas de error - Soporte de CloudFlare . Consultado el 18 de abril de 2016. Archivado desde el original el 4 de marzo de 2016.
  16. RFC 2068 "10.3 Redirección 3xx" (p. 56) Archivado el 7 de junio de 2018 en Wayback Machine .
  17. RFC 2616 , sección "10.3.3 302 Found", página 63 Archivado el 7 de marzo de 2011 en Wayback Machine .
  18. Josh Cohen HTTP/1.1 Códigos de respuesta 305 y 306 Archivado el 8 de septiembre de 2014 en Wayback Machine  // Netscape Communications Corp., 25 de diciembre de 1996
  19. ¿Qué significa 403 Prohibido? Archivado el 21 de febrero de 2014 en Wayback Machine .
  20. Causas de un error 404 no encontrado Archivado el 21 de febrero de 2014 en Wayback Machine .
  21. RFC 2324 - Protocolo de control de cafetera de hipertexto (HTCPCP/1.0) .
  22. draft-ietf-httpbis-legally-restricted-status-04 . datatracker.ietf.org. Consultado el 22 de diciembre de 2015. Archivado desde el original el 23 de diciembre de 2015.
  23. Descripción del error interno del servidor 500 Archivado el 21 de febrero de 2014 en Wayback Machine .
  24. Límite de recursos alcanzado . www.cloudlinux.com_ _ Consultado el 21 de junio de 2022. Archivado desde el original el 15 de mayo de 2021.

Enlaces

Documentos principales de HTTP (descendentes por fecha de publicación) Documentos sobre extensiones y actualizaciones del protocolo HTTP (descendente por fecha de publicación) Materiales adicionales