Códigos HTTP: Una guía con los códigos de estado más comunes

Códigos de estado HTTP
4.4
(11)

¿Sabías que cada vez que visitas una web el navegador devuelve un código de estado HTTP?

«Pero si yo cuando navego por Internet yo no veo nada…« Lo sé, a veces estos códigos HTTP no son visibles para el usuario, pero sí que existen.

Precisamente, gracias a estos códigos de estado HTTP podemos saber si la solicitud que hemos hecho en una página web fue satisfactoria o, si de lo contrario, hubo algún error. Básicamente, cuando todo sale bien nosotros no vemos ningún mensaje de error ni código HTTP, pero cuando algo sale mal sí se muestran.

¿No te suena el código HTTP 404? ¿Y el HTTP 500 Internal Server Error?

Si tienes una página web es muy importante que conozcas y que entiendas todos los diferentes códigos de estado HTTP que existen. Estos mensajes que devuelve el servidor son la mejor herramienta que puedes tener para diagnosticar y solucionar ciertos problemas o errores que pueden surgir en tu web.

Para que no haya dudas, a continuación te explico qué son los códigos HTTP, los tipos de códigos de estado HTTP que existen y los códigos de estado más importantes.

¿Qué son los códigos HTTP o códigos de estado?

Los códigos HTTP, también llamados códigos de estado HTTP, son mensajes que devuelve el servidor cada vez que el navegador realiza una petición al servidor.

Cuando el navegador realiza una petición al servidor pueden ocurrir dos cosas:

  • Que no exista ningún error: esto es lo más habitual. El navegador devuelve el contenido de la página web que se haya solicitado. En este caso el código de estado HTTP no es visible para el usuario.
  • Que exista un error: al producirse un error en la navegación, ya sea del lado del servidor o del cliente, se muestra un mensaje al usuario, es decir, un código de estado HTTP. En función de la causa u origen del problema, el código de estado es uno u otro.

Por tanto, ante un error en la navegación, el código de estado HTTP que devuelve el servidor nos permite hacernos una idea de lo que está ocurriendo. De ahí a que cualquier persona que tenga una página web debería conocer todos los tipos de códigos HTTP que existen. Reconocerás al momento el error y podrás solucionarlo rápidamente 🙂 .

Ejemplo de códigos HTTP

Si los códigos de estado HTTP te parece algo nuevo, verás que estás mucho más acostumbrado de lo que crees a verlos cuando intentas acceder a una página web.

¿Te suena el error 404? Este error tan común no deja de ser un código de estado HTTP que indica al usuario que el contenido al que está intentando acceder no se encuentra en el servidor o no está disponible.

Ejemplo código HTTP Error 404

Tipos de respuesta de los códigos HTTP

Los códigos HTTP están estandarizados y se recogen en el registro de códigos de estado HTTP de la IANA (Internet Assigned Numbers Authority).

Estos códigos HTTP se clasifican en 5 tipos. El primer dígito del código es el que corresponde al tipo de respuesta a la que nos enfrentamos: respuestas informativas, respuestas satisfactorias, redirecciones, errores del navegador y errores de los servidores.

A continuación te muestro los diferentes tipos de códigos de estado HTTP que te puedes encontrar cuando navegas por Internet:

  • Códigos de estado 1xx. Son respuestas de carácter informativo e indican que el navegador puede continuar con la petición. Como no reflejan ningún error, no se muestran al usuario.
  • Códigos de estado 2xx. El conjunto de códigos de estado HTTP del tipo 2xx son respuestas satisfactorias, Simplemente indican que la petición fue procesada correctamente, por lo que lo ideal es que todas las webs devuelvan este código HTTP. Generalmente, como la petición fue exitosa, no se muestra el código de estado HTTP, el navegador únicamente devuelve el contenido que el usuario solicitó.
  • Códigos de estado 3xx. Estos códigos HTTP hacen referencia a cuando el navegador tiene que realizar una acción adicional como, por ejemplo, una redirección 301.
  • Códigos de estado 4xx. Los códigos de estado que comienzan con el dígito 4 hacen referencia a errores producidos por el navegador web. En estos casos, el usuario recibe una página en HTML en la que es informado del error.
  • Códigos de estado 5xx. Estos códigos HTTP también muestran errores, pero por el lado del servidor web.

Listado de los códigos HTTP más importantes

En cada uno de los grupos de los códigos de estado HTTP que vimos anteriormente, existe una gran variedad de códigos HTTP que pueden ser devueltos por el servidor.

Códigos de estado HTTP 1xx

  • 100 – Coninue. Este código de estado notifica que el servidor ha recibido la primera petición y está esperando recibir más instrucciones del navegador.
  • 101 – Switching Protocols. Se utiliza cuando el servidor acepta un cambio propuesto por el navegador. Por ejemplo, un cambio de HTTP 1.0 a HTTP 1.1.
  • 102 – Processing. El servidor ha recibido la petición, pero no la ha completado. Esto evita que el navegador interprete que la petición se ha perdido, si no que todavía no ha finalizado.
  • 103 – Checkpoint. Se utiliza para reanudar una petición que previamente fue perdida o cancelada.

Códigos de estado HTTP 2xx

  • 200 – OK. Se utiliza cuando la petición fue completada de manera exitosa. Como este código indica que “todo está bien” no suele mostrarse al usuario final.
  • 201 – Created. La petición del navegador se completó correctamente y se creó un nuevo recurso.
  • 203 – Non-Authoritative Information. La petición del navegador se completó correctamente, pero el contenido corresponde a un servidor diferente al que se ha realizado la petición.
  • 204 – No Content. La petición del navegador se completó correctamente, pero la respuesta no muestra ningún tipo de contenido.
  • 205 – Reset Content. Se utiliza cuando la petición del usuario se completa, pero es necesario volver a cargar la página. Es muy habitual cuando se envían datos a través de un formulario de contacto y se recarga la página.
  • 206 – Partial Content. Se utiliza cuando la petición se completa, pero solo se devuelve parte del contenido solicitado.
  • 207 – Multi-Status. Se devuelve un archivo XML que contiene varias respuestas diferentes, en función de las peticiones realizadas.

Códigos de estado HTTP 3xx

  • 300 – Multiple Choices. Ante una solicitud, existe más de una opción para acceder al mismo recurso.
  • 301 – Moved Permanently. El recurso solicitado se movió de forma permanente y el navegador es redirigido automáticamente a la nueva ubicación. Las redirecciones 301 son una buena opción para que Google no nos penalice si tenemos demasiados errores 404 en nuestra web.
  • 302 – Moved Temporarily. El recurso solicitado se movió de forma temporal y el navegador es redirigido automáticamente a esa nueva ubicación.
  • 303 – See Other. Este código indica que el recurso solicitado se movió, pero no hay ninguna redirección hecha.
  • 304 – Not Modified. Este código de estado se da cuando el navegador pregunta al servidor si el recurso ha sido movido desde la última vez que lo consultó, y este no ha sido cambiado.
  • 305 – Use Proxy. Este código HTTP se utiliza cuando el recurso solicitado debe obtenerse a través de un proxy Location situado en la cabecera.
  • 306 – Switch Proxy. En la actualidad este código de estado HTTP ya no se utiliza, pero se reserva para futuros casos.
  • 307 – Temporary Redirect. El recurso que solicita el navegador se puede obtener en otro lugar, pero únicamente para esta petición. Para próximas peticiones se puede utilizar la ubicación original.
  • 308 – Permanent Redirect. El recurso que solicita el navegador se encuentra en otra ubicación y el cambio es permanente. A diferencia del código HTTP 301, no se cambia el método HTTP para la nueva petición.

Códigos de estado HTTP 4xx

  • 400 – Bad Request. El servidor no entiende la petición del navegador porque la sintaxis no es correcta.
  • 401 – Unauthorized. La petición que realiza el navegador precisa autenticación.
  • 402 – Payment Required. Es un código HTTP reservado para futuros usos.
  • 403 – Forbidden. La petición que realiza el navegador es correcta, pero se ha denegado el acceso al recurso solicitado.
  • 404 -Not Found. El recurso que solicita el navegador no se encuentra o no está disponible en el servidor. No es posible detectar si esta ausencia es temporal o permanente.
  • 405 – Method Not Allowed. El navegador utiliza un método para obtener el recurso que no es aceptado por el servidor.
  • 406 – Not Acceptable. El recurso solicitado tiene un formato que no es aceptado por el navegador.
  • 407 – Proxy Authentification Required. Un código de estado similar al 401, pero en este caso el navegador debe autenticarse primero mediante un proxy.
  • 408 – Request Timeout. Este código HTTP se muestra cuando el navegador ha tardado tanto tiempo en realizar su petición que el servidor ya no la espera.
  • 409 – Conflict. No se pudo completar la petición porque se produjo un conflicto con el recurso solicitado.
  • 410 – Gone. No es posible encontrar el recurso solicitado y la ausencia se considera permanente. Si hay alguna posibilidad de que esta ausencia sea temporal, se debe utilizar el código HTTP 404.
  • 411 – Length Required. El servidor devuelve este código HTTP cuando la petición no incluye la cabecera Content-Length adecuada.
  • 414 – Request-URI Too Long. La URL que se corresponde con la petición realiza es demasiado larga para ser procesada. Esto ocurre cuando una dirección tiene muchos parámetros.
  • 423 – Locked. Se muestra este código HTTP cuando el recurso solicitado está bloqueado.
  • 429 – Too Many Request. El navegador realiza demasiadas peticiones en un período de tiempo determinado.

Códigos de estado HTTP 5xx

  • 500 – Internal Server Error. No se puede completar la petición, ya que se ha producido un error inesperado en el navegador.
  • 501 – Not implemented. El servidor no soporta alguna funcionalidad necesaria para responder a la solicitud que realiza el navegador.
  • 502 – Bad Gateway. El servidor no puede responder con la petición del navegador, ya que este servidor está actuando como proxy o gateway, o tiene instalado un proxy inverso y ha recibido una respuesta no válida desde dicho servidor.
  • 503 – Service Unavailable. El servidor no puede responder a la petición del navegador porque está saturado o se están realizando tareas de mantenimiento en el mismo.
  • 504 – Gateway Timeout. El servidor no puede responder con la petición del navegador, ya que este servidor está actuando como proxy o gateway, o tiene instalado un proxy inverso y se ha agotado el tiempo de respuesta de dicho servidor.
  • 505 – HTTP Version Not Supported. El servidor no es compatible con la versión del protocolo HTTP utilizada en la petición del navegador.
  • 509 – Bandwidth Limit Exceeded. Es un código HTTP muy utilizado en cPanel y se muestra cuando se ha alcanzado el límite de ancho de banda y no se puede procesar la petición.
  • 510 – Not Extended. Este código se muestra cuando es necesario añadir más extensiones al servidor para que pueda procesar la petición.
  • 511 – Network Authentification Required. El navegador debe autenticarse para poder cumplir las peticiones.

¿Quieres un poco más de información? Aquí te dejo artículos con los errores más comunes de una web y cómo solucionarlos:

¿Cómo influyen los códigos de estado HTTP en el SEO?

Además de todo lo que te he contado, un aspecto importante de los códigos de estado HTTP es que (además de ser fundamentales para identificar errores) también tienen un impacto directo sobre el SEO. En esta sección, te lo cuento en más detalle.

La relevancia de los códigos 2xx para el SEO

Un código de estado HTTP 200 (OK) significa que todos los sistemas están funcionando a la perfección, de forma que los motores de búsqueda pueden navegar e indexar tu sitio. De lo contrario, si tus páginas no estuvieran resolviendo como es debido, Google tendría que sacarlas de los resultados de búsqueda.

Por lo tanto, es fundamental comprobar de vez en cuando que todas las páginas importantes del sitio dan como resultado un código 200.

El daño de los códigos 4xx sobre el SEO

Hay errores, como el 404 o el resto de errores 4xx, que van a afectar negativamente al SEO porque generan una mala experiencia de usuario. Para evitarlos, usa las redirecciones 301 siempre que las necesites, y canaliza así a tus visitas (y a los motores de búsqueda) a una página que sí esté operativa.

Problemas de indexación debido a códigos 5xx

Los códigos de error 5xx (que marcan que existen problemas en el servidor) son más graves. Un error 503, por ejemplo, puede hacer que Google te elimine temporalmente de los resultados si no se resuelve durante un período prolongado de tiempo.

Por eso, la detección temprana de los códigos de error que puedan ir surgiendo es muy importante para la salud orgánica de tu web. Estate pendiente de herramientas como Google Search Console, porque te va a alertar siempre que se produzcan problemas de indexación.

¿Te sonaban todos estos HTTP codes?

Conocer y entender los diferentes códigos de estado HTTP que puede devolver un servidor es esencial para detectar y solucionar posibles errores de tu web. Además, estos códigos de estado juegan un papel fundamental en el posicionamiento SEO de tu web.

¿Alguna duda o sugerencia? Si es así, déjame un comentario aquí abajo y haré todo lo posible por echarte una mano 🙂

¡Puntúa este artículo!

Total votos: 11. Promedio: 4.4

María Acibeiro

Dicen que si trabajas en lo que te gusta, no tendrás que trabajar nunca más. Así que, por aquí nos veremos mucho más de lo que te imaginas 😜

4 Comentarios
  • Augusto
    Posted at 15:08h, 29 noviembre Responder

    Hola, y muchas gracias por la info compartida, te dejo una consulta,De qye firma se puede similar esos errores virtualmente ?

    • María Acibeiro
      Posted at 10:49h, 16 diciembre Responder

      Muchas gracias a ti por leernos, Augusto 🙂 No es tan sencillo simular todos estos códigos de estado, ya que muchas veces depende de cómo esté programada tu web. Concretamente, ¿qué código de estado quieres simular?

      Por ejemplo, si utilizas WordPress, podrías simular un Error 500 añadiendo un error de sintaxis en el .htaccess o modificando un fichero para que ejecute una función de PHP no existente.

      No obstante, si tienes tu web con nosotros, contáctanos y te ayudaremos a despejar las dudas que tengas.

      ¡Un saludo!

  • larry
    Posted at 07:16h, 21 agosto Responder

    es excelente rápido sencillo y fácil de comprender

    • María Acibeiro
      Posted at 08:49h, 21 agosto Responder

      ¡Gracias Larry, me alegro de que te haya gustado! 🙂

Escribe un comentario