¿Qué significan estos códigos de estado HTTP?

¿Qué significan estos códigos de estado HTTP?

Los códigos de estado HTTP son una parte vital de la navegación web. Cada solicitud que realice, cada vez que haga clic en un enlace o ingrese una URL, obtendrá una respuesta. Detrás de esa respuesta hay un código numérico que resume el resultado.





Ha oído hablar del código 404 y probablemente maldijo a su navegador cada vez que muestra uno. Pero HTTP es más poderoso de lo que imagina, y los códigos de estado manejan muchos escenarios diferentes. Siga leyendo para obtener más información sobre estos pequeños números crípticos.





Cómo se comunican los clientes y servidores web

La navegación web es posible gracias a la comunicación entre clientes y servidores. Cuando solicita ver una página, su cliente (navegador) envía una solicitud a un servidor (sitio web). Es de esperar que esa solicitud tenga éxito, momento en el que el servidor envía una respuesta para que la lea.





En su respuesta, el servidor web incluye más que solo el contenido. Para empezar, incluye una serie de encabezados, pequeños fragmentos de metadatos que se aplican a la respuesta. Por ejemplo, el Tipo de contenido El encabezado podría verse así:

|_+_|

Esto significa que la respuesta es HTML en lugar de una imagen o un archivo de música.



Pero antes del contenido, incluso antes de los encabezados, cada respuesta HTTP incluye una línea que se parece a esto:

|_+_|

En este ejemplo, junto con la versión HTTP (1.1), un código de estado dice 200 OK. En otras palabras, todo está bien, aquí está tu contenido. El 200 es el bit más importante. Los sistemas pueden probarlo para determinar exactamente qué ha ocurrido. El OK es una sugerencia corta y agradable, que describe el estado de cualquier humano que esté mirando.





Ejemplos de códigos de estado comunes

Los códigos de estado 404 y 200 son muy comunes, pero hay muchas más posibilidades.

  • ERROR INTERNO DE SERVIDOR 500) es un estado de error. Significa que algo salió mal en el servidor y no puede cumplir con la solicitud. Esto puede ser un error de programación o algún otro error de ejecución.
  • 403 (PROHIBIDO) significa que el servidor entendió la solicitud pero se niega a permitirla. Esto a menudo se aplica a acciones relacionadas con el usuario en aplicaciones web más complicadas. Por ejemplo, intentar editar una publicación que pertenece a otra persona.
  • 401 (NO AUTORIZADO) es muy similar a 403. En este caso, la solicitud original no puede acceder al recurso porque no proporcionó ninguna credencial de usuario. En otras palabras, no ha iniciado sesión.
  • 400 PETICIÓN INCORRECTA) significa que el servidor no pudo entender lo que se estaba solicitando. Quizás falte alguna información, como un parámetro de URL. Quizás algo corrompió la solicitud en tránsito.

Grupos de códigos de estado HTTP

Todos los códigos de estado que hemos visto hasta ahora son de tres dígitos, todos entre 200 y 500. No es una coincidencia. Los estados HTTP tienen tres dígitos, con el primer dígito entre uno y cinco, inclusive. Y el valor de ese primer dígito coloca el código en uno de cinco grupos, cada uno con un significado específico.





El primer grupo, 1xx, es informativo. Todos estos casos significan que el servidor entendió la solicitud, pero no está listo para enviar una respuesta. No los verá mucho en acción, pero están ahí para los sistemas que los necesitan.

El grupo 2xx es el hogar de la respuesta que normalmente desea: 200 (OK) . Ese es el caso de éxito más común, pero hay otros.

los 204 (SIN CONTENIDO) el código es bastante extraño. Un servidor puede devolverlo como resultado de un PUT o un POST o un PATCH. El significado, en estos casos, sería que el servidor realizó la actualización, pero no es necesario devolver nada al cliente.

Los códigos del grupo 3xx demuestran cómo los estados HTTP van más allá de la simple comunicación de éxito o fracaso. Los códigos de estado que comienzan con un 3 indican una redirección. Esto significa que la solicitud original no fue mala, pero el cliente debería usar una URL diferente en su lugar.

Esto puede ser temporal, como en el caso de 302 (ENCONTRADO) , que un sitio puede utilizar para alojar una URL promocional que redirige a una página de producto final. Un sitio puede utilizar un redireccionamiento permanente en su lugar, a través de la 301 MOVIDO PERMANENTEMENTE) estado. Esta es una buena práctica cuando, por ejemplo, un sitio ha cambiado el nombre de una página.

que es mas barato uber o lyft

Los estados de redireccionamiento suelen ir acompañados de un Localización encabezamiento. Esto le dice al cliente qué URL solicitar en lugar de la original. Los servidores a menudo responderán con encabezados adicionales. Estos proporcionarán información más útil que el código de estado solo.

Los estados que comienzan con 4 son errores del cliente. Básicamente, se refieren a que el navegador (o la persona que lo usa) hizo algo mal. Ya hemos discutido varios de estos (400, 401, 403, 404), y este es el grupo más grande de códigos de estado por una cantidad significativa. Otros ejemplos de error de cliente incluyen solicitar una URL que solía existir pero que ya no existe: 410 (APAGADO) . También hay 429 (DEMASIADAS SOLICITUDES) , que admite la limitación de velocidad para que los recursos no se abrumen. Esto es muy utilizado por las API REST.

Finalmente, los estados en el rango 500-599 indican que algo salió mal con el servidor mientras intentaba cumplir con la solicitud.

Obtener el estado HTTP con curl

La herramienta de línea de comandos HTTP multipropósito más utilizada es rizo . Con curl, puede enviar solicitudes HTTP a mano, ver los detalles de la respuesta subyacente y examinar los códigos de estado.

El programa curl no hace que sea increíblemente fácil mostrar solo un código de estado, pero puede hacerlo usando algunas opciones, a saber:

  • -o le dice a curl que envíe su salida predeterminada a un archivo. Puede usarlo para descartar toda la salida normal.
  • -en muestra información personalizada de un conjunto de variables disponibles, una de las cuales es http_code, es decir, el código de estado de respuesta.

También puedes usar -s para ocultar algunos detalles, curl suele mostrar sobre la transferencia, como el progreso en tiempo real. A continuación, le indicamos cómo combinar estas opciones:

|_+_|

O puede usar opciones ligeramente diferentes y una canalización para manipular el resultado:

|_+_|

Visualización de códigos de estado en un navegador web

Si alguna vez necesita verificar los códigos de estado HTTP, su navegador web puede ayudarlo. La mayoría de los navegadores modernos tienen una consola que puede mostrar información avanzada. Usando Chrome como ejemplo, aquí se explica cómo verificar el código de estado de una URL:

  1. Escoger Vista -> Desarrollador -> Herramientas de desarrollo en el menú principal. Esto alterna una pequeña ventana en la parte inferior de su navegador.
  2. Si aún no está mirando el La red pestaña de la ventana Herramientas de desarrollo, cámbiela.
  3. Haga clic en el Doc para mostrar solo las solicitudes de contenido de la página.
  4. Actualiza la página que estás viendo.

Observe que, junto con las URL solicitadas, el navegador muestra un Estado columna. Muestra exactamente qué código de estado devolvió el servidor.

Otros recursos

Hay muchos buenos recursos que explican más sobre los códigos de estado HTTP. La página de Wikipedia titulada Lista de códigos de estado HTTP y este documento oficial de estándares de datatracker son buenos puntos de partida.

La referencia más útil podría ser httpstatuses.com . Explica todos los códigos de estado HTTP en un formato conciso y fácil de entender. También proporciona detalles de código útiles que pueden resultar útiles al programar cualquier cosa que tenga que ver con HTTP.

El formato de las URL de httpstatuses es particularmente útil. La página para el código de estado 403 es simplemente https://httpstatuses.com/403 . Puede cambiar fácilmente la URL para buscar cualquier código de estado que necesite.

Los estados HTTP hacen que la Web funcione

El código de estado HTTP es un número simple de tres dígitos que la mayoría de la gente experimenta bajo la apariencia del 404. Pero es mucho más poderoso que eso, y los códigos de estado admiten una amplia gama de comportamientos.

HTTP2 es la próxima versión de HTTP, pero la buena noticia es que los códigos de estado siguen siendo los mismos. Todo lo que ha aprendido aquí seguirá siendo relevante en el futuro previsible.

Cuota Cuota Pío Correo electrónico ¿Qué es HTTP / 2 y cómo afecta al futuro de Internet?

Internet está configurado para ser más eficiente gracias a la llegada de HTTP / 2. Pero, ¿qué es y cómo mejora en HTTP?

Leer siguiente
Temas relacionados
  • Programación
  • HTTPS
  • Seguridad del navegador
Sobre el Autor Bobby Jack(58 Artículos publicados)

Bobby es un entusiasta de la tecnología que trabajó como desarrollador de software durante la mayor parte de dos décadas. Es un apasionado de los juegos, trabaja como editor de reseñas en Switch Player Magazine y está inmerso en todos los aspectos de la publicación en línea y el desarrollo web.

copiar fotos de iphone a mac
Más de Bobby Jack

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse