Principal
/
Ayuda con Páginas Web
/
Códigos de estado HTTP
/
Códigos de estado HTTP explicados

Códigos de estado HTTP explicados

Cada usuario de Internet ha visto la página “No encontrado” con el código de tres dígitos “404” en algún momento. Esta es una respuesta HTTP del servidor del sitio web que estás visitando, indicándote que la URL solicitada no existe. El código “404 Not Found” es uno de los muchos códigos de estado de respuesta HTTP, y cada uno tiene un significado diferente. El rasgo común que todos comparten es que son respuestas del servidor a sus solicitudes.

Sigue leyendo para obtener más información sobre qué es un código de estado HTTP y qué significa cada código.

¿Qué es un código de estado HTTP?

Todas las interacciones entre su navegador y un sitio web se basan en el principio de solicitud-respuesta. Cada vez que escribe una dirección en su navegador, hace clic en el enlace de una página web, descarga un archivo o realiza cualquier acción en línea, su navegador (cliente) envía una solicitud HTTP al servidor del sitio web. El servidor procesa la solicitud y devuelve una respuesta HTTP.

Qué es un código de estado HTTP

 

La respuesta contiene dos partes: cuerpo y encabezados. El cuerpo generalmente consta de contenido que visualiza tu navegador: texto, imágenes, video, etc. Algunas respuestas no generan contenido, por lo que el cuerpo puede estar vacío.

Los encabezados contienen metadatos sobre las respuestas: el código de estado HTTP, el tipo de servidor y otra información importante.

Los códigos de estado HTTP constan de 3 dígitos. El primer dígito representa la categoría de la respuesta, mientras que los dos últimos dígitos definen la respuesta específica.

Hay cinco categorías que agrupan las respuestas según un rasgo mutuo o un propósito que comparten:

  • Códigos 1XX – Códigos informativos que el servidor devuelve para indicarle al cliente que la solicitud está en curso.
  • Códigos 2XX – Códigos correctos que indican que la solicitud se reconoce y se está gestionando.
  • Códigos 3XX – Códigos que especifican que habrá una redirección.
  • Códigos 4XX- Estos son códigos de error que indican un problema con la solicitud enviada desde el cliente (navegador).
  • Códigos 5XX – Errores originados en el servidor de la web que impiden el envío de una respuesta válida.

Una lista completa de códigos de estado HTTP

Hay más de 50 códigos de estado HTTP oficiales reconocidos por el Internet Assigned Numbers Authority (IANA) que es responsable de mantener y gobernar los estándares de Internet, incluido el registro de códigos HTTP.

Revisaremos todos los códigos oficiales y también revisaremos algunos de los códigos no oficiales más populares utilizados en plataformas y servicios específicos.

Códigos 1XX

Los códigos 1XX son respuestas informativas del servidor del sitio web. No generan contenido y solo actualizan a los clientes sobre el progreso de sus solicitudes. Esta información se envía en los encabezados de la respuesta HTTP.

  • 100 “Continue” – El servidor ha recibido los encabezados de la solicitud. Ahora le dice a su navegador que proceda con el envío del cuerpo de la solicitud.
  • 101 “Switching Protocols” – El cliente solicitante (navegador) pidió al servidor que cambiara los protocolos, y el servidor ha cumplido la solicitud.
  • 102 “Processing” –Esta es una respuesta asociada principalmente con solicitudes de WebDAV que pueden tardar más en completarse. Indica que el servidor ha recibido la solicitud y la está procesando actualmente.
  • 103 “Early Hints” – El servidor devuelve algunos encabezados de respuesta antes de que se envíe la respuesta HTTP final.

Códigos 2XX

Los códigos 2XX son las mejores respuestas que puedes recibir. Indican que la solicitud fue reconocida por el servidor, fue aceptada y está siendo procesada.

  • 200 “OK” – La respuesta para una solicitud HTTP exitosa. El resultado dependerá del tipo de solicitud.
  • 201 “Created” – La solicitud se cumplió y el servidor creó un nuevo recurso.
  • 202 “Accepted” – El servidor aceptó la solicitud pero aún no ha terminado de procesarla. La solicitud puede cumplirse o rechazarse, pero el resultado aún no está determinado.
  • 203 “Non-Authoritative Information” – Un código que suele aparecer cuando se usa un servicio de proxy. El servidor proxy recibió un código de estado 200 “OK” del servidor de origen, y devuelve una versión modificada de la respuesta del origen.
  • 204 “No Content” – El servidor cumplió con la solicitud pero no devolverá ningún contenido.
  • 205 “Reset Content” – El servidor cumplió con la solicitud y no devolverá ningún contenido, pero le pide al cliente (navegador) que restablezca la vista del documento.
  • 206 “Partial Content” – El servidor devuelve solo una parte de los recursos solicitados porque tu navegador usa “encabezados de rango”. Estos encabezados permiten a los navegadores reanudar las descargas o dividir las descargas en múltiples flujos simultáneos.
  • 207 “Multi-Status” – Un código asociado con WebDav cuando se realiza una solicitud compuesta. El servidor devuelve un mensaje que contiene una matriz de códigos de respuesta para todas las sub-solicitudes.
  • 208 “Already Reported” (WebDav) – Este código indica que los miembros internos de un enlace DAV ya se enumeraron en una parte anterior de la respuesta y no se enumerarán de nuevo.
  • 226 “IM Used” – El servidor cumplió con la solicitud, y la respuesta es una representación del resultado de una o más manipulaciones de instancia aplicadas a la instancia actual.

Códigos 3XX

Los códigos 3XX especifican que habrá una redirección. Redirecciones se usan comúnmente cuando un recurso se mueve a una nueva dirección. Los diferentes códigos 3XX instruyen a los navegadores sobre cómo se debe realizar la redirección.

  • 300 “Multiple Choices” – El servidor presenta al cliente una opción de múltiples recursos para elegir. El código de estado se aplica cuando usa su navegador para descargar archivos y se le da la opción de extensión de archivo, o cuando se le presentan opciones para eliminar la ambigüedad.
  • 301 “Moved Permanently” – Este es el código para una redirección permanente. Significa que la URL del recurso solicitado se reemplaza permanentemente con una nueva dirección, y los motores de búsqueda deberían actualizar la URL en sus bases de datos.

Lee esta guía sobre la creación de redirecciones para obtener más información.

  • 302 “Found” – Anteriormente, este código se conocía como “Movido temporalmente”. Indica a los navegadores que el recurso solicitado se mueve temporalmente a una nueva URL, pero la nueva dirección puede cambiarse de nuevo en el futuro. Por lo tanto, el cliente debería seguir utilizando la URL original. El código se usa para redirecciones temporales.
  • 303 “See Other” – El servidor indica al cliente que ha encontrado el recurso, pero que tiene que ser recuperado en otra URL con una solicitud GET.
  • 304 “Not Modified” – El servidor informa a tu navegador que el recurso no ha sido alterado desde la última vez que lo solicitaste. Tu navegador puede seguir usando la versión en caché que ya almacena localmente.
  • 305 “Use Proxy” – El recurso solicitado está disponible solo a través de un proxy. Este código ahora está en desuso y los navegadores lo ignoran.
  • 306 “Switch Proxy” – Este código ya no está en uso. Significa que las siguientes solicitudes deben usar el proxy especificado.
  • 307 “Temporary redirect” – Este es el nuevo código para redirecciones temporales que reemplazó al código HTTP 302. Especifica que el recurso solicitado se ha movido a otra URL. A diferencia del código HTTP 302, el código HTTP 307 no permite cambiar el método de solicitud HTTP. Por ejemplo, si la primera solicitud fue GET, la segunda solicitud también debería ser GET.
  • 308 “Permanent Redirect” – El recurso solicitado se mueve permanentemente a otra URL y todas las solicitudes futuras deben redirigirse a la nueva dirección. El código es similar al código HTTP 302, la única diferencia es que no permite que los navegadores cambien el tipo de solicitud HTTP.

Códigos 4XX

Los códigos 4XX son códigos de estado de error HTTP. Definen errores como solicitudes no válidas de su navegador que el servidor del sitio web no puede procesar. El problema puede ser un error de sintaxis en la solicitud, URL inexistente, credenciales incorrectas, etc. Tu navegador generalmente generará una página con un código de error en particular.

Página para el error HTTP 404 "Not Found"
  • 400 “Bad Request” – El servidor no puede devolver una respuesta válida debido a un error del lado del cliente. Las causas comunes son URL solicitadas con formato incorrecto, enrutamiento de solicitud engañoso, tamaño de archivo grande, etc.

Para obtener más información, echa un vistazo a este tutorial sobre lo que es un error HTTP “400 Bad Request” y cómo solucionarlo.

  • 401 “Unauthorized” – Este error aparece cuando el cliente no puede proporcionar credenciales válidas y la respuesta del servidor incluye un encabezado WWW-Authenticate. Es probable que veas este error cuando intentas acceder a URL protegidas con contraseña y no tienes la información de inicio de sesión correcta.

Si experimentas este problema, revisa esta guía para solucionar el error HTTP 401.

  • 402 “Payment Required” – Este no es un código estándar, sin embargo, está reservado para ser utilizado en el futuro por los sistemas de pago. El propósito del código es indicar que el contenido no está disponible debido a un pago fallido.
  • 403 “Forbidden” – El error indica que el servidor deniega el acceso a un usuario que no tiene permiso para acceder a los recursos. Este error es similar al código HTTP 401, pero la diferencia es que en este caso, se conoce la identidad del usuario.

Las causas típicas de este error son reglas restrictivas del servidor del sitio web, permisos insuficientes de los archivos y carpetas del sitio web, etc.

Para obtener más información, lea este artículo sobre el error HTTP 403 y cómo solucionarlo.

  • 404 “Not found” – Este es el error más frecuente que ven los usuarios en línea. Significa que el servidor no puede encontrar el recurso solicitado. Por lo general, la causa es que la URL a la que intentas acceder no existe.

El error también podría deberse a una configuración incorrecta del sitio web. Lee la siguiente guía para solucionar el error HTTP 404.

  • 405 “Method Not Allowed” – El servidor entiende el método solicitado, pero el recurso de destino no lo admite.
  • 406 “Not Acceptable” – El recurso solicitado generó contenidos que no cumplen con los criterios del user-agent que lo solicitó.
  • 407 “Proxy Authentication Required” – Hay un servidor proxy utilizado en la comunicación entre el navegador y el servidor y requiere autenticación.
  • 408 “Request Timeout” – El servidor se cerró debido a un tiempo de espera agotado mientras esperaba una solicitud de su navegador. En algunos casos, los servidores pueden enviar este mensaje en una conexión inactiva incluso sin ninguna solicitud previa del cliente.

Cabe señalar que los servidores pueden cerrar la conexión sin enviar un mensaje.

  • 409 “Conflict” – Este error ocurre cuando una solicitud no se puede procesar debido a un conflicto en el estado actual del recurso en el servidor. Un ejemplo de este error es cuando se envían múltiples ediciones del mismo archivo al servidor, y las ediciones entran en conflicto entre sí.
  • 410 “Gone” – El recurso solicitado no está disponible y no lo estará en el futuro. No se reemplaza con un nuevo recurso en una nueva dirección, por lo que se espera que los clientes eliminen cualquier enlace y caché relacionados con el recurso. Por ejemplo, los motores de búsqueda deberían eliminar la información del recurso de sus bases de datos.
  • 411 “Length Required” – La longitud del contenido de la solicitud no se especifica y el recurso en el servidor lo requiere.
  • 412 “Precondition failed” – Los encabezados de la solicitud especifican ciertas condiciones previas que el servidor no cumple.
  • 413 “Payload too large” – La solicitud es mayor que los límites especificados en el servidor, por lo que el servidor no puede procesar la solicitud.

Puede ver este error en su sitio de WordPress cuando intente subir un archivo y su tamaño exceda el límite de carga de su sitio web. Si este problema, lea esta guía sobre el error “413 Entity Too Large” en WordPress.

  • 414 “URI Too Long” – La longitud del URI es demasiado larga y el servidor no puede procesarla. Por lo general, esto es el resultado de una solicitud GET que contiene demasiados datos y, por lo tanto, debe cambiarse a una solicitud POST.
  • 415 “ Unsupported Media Type” – La solicitud contiene un tipo de medio que el servidor no admite. Por ejemplo, intentas subir un archivo de imagen en formato .jpg, pero el servidor no lo admite.
  • 416 “Range Not Satisfiable” – La solicitud solicitó una parte del recurso que el servidor no puede proporcionar. Este error puede ocurrir cuando su navegador solicita una parte de un archivo que está fuera del final del archivo.
  • 417 “Expectation Failed” – El servidor no cumple con los requisitos establecidos en el campo de encabezado expect de la solicitud.
  • 418 “I’m a teapot.” – Este error es devuelto por teteras solicitadas para preparar café. Es una broma de Día de los inocentes que se remonta a 1998.
  • 421 “Misdirected Request” – La solicitud se dirigió a un servidor que no pudo producir una respuesta.
  • 422 “Unprocessable Entity” – La solicitud del cliente está bien formada pero contiene errores semánticos que impiden que el servidor procese una respuesta.
  • 423 “Locked” – El recurso al que se accede está bloqueado.
  • 424 “Failed Dependency” – La solicitud falló porque dependía de otra solicitud que también falló.
  • 425 “Too Early” – Este error indica que el servidor no está dispuesto a arriesgarse a procesar una solicitud que podría reproducirse.
  • 426 “Upgrade Required” – El servidor rechaza la solicitud utilizando los protocolos actuales como se indica en el encabezado de upgrade enviado en respuesta. Está dispuesto a aceptar la solicitud si el cliente actualiza a otro protocolo.
  • 428 “Precondition Required” – El servidor requiere que la solicitud sea condicional. En la mayoría de los casos, esta respuesta se usa para evitar conflictos cuando un cliente usa el método GET para solicitar un recurso, lo modifica y luego usa PUT para cargar la nueva versión, mientras que otra parte también puede haber alterado el mismo recurso.
  • 431 “Request Header Fields Too Large” – El servidor no puede procesar la solicitud porque sus campos de encabezado individuales o todos los campos de encabezado combinados son demasiado grandes. El cliente puede enviar una nueva solicitud si se reduce el tamaño.
  • 451 “Unavailable for Legal Reasons” – El cliente solicita un recurso para el que el servidor está legalmente obligado a denegar el acceso, como una página web censurada por el gobierno.

Códigos 5XX

Los códigos HTTP 5XX indican que hay un problema en el servidor del sitio web que le impide procesar una solicitud. Al igual que los códigos 4XX, verá una página de error en su navegador cuando se activa un error 5XX.

Página para HTTP Error 500 "Internal Server Error"
  • 500 “Internal Server Error” – Es un error genérico que indica que el servidor encontró una condición inesperada y no puede cumplir con la solicitud. El servidor te dice que hay algo mal, pero no está seguro de cuál es el problema.

Por lo general, el problema proviene de la configuración del sitio web en el lado del cliente. Lea este tutorial en qué es un “HTTP Error 500 – Internal Server Error” y cómo solucionarlo para obtener más información.

  • 501 “Not Implemented” – El servidor no admite el método de solicitud o no tiene la capacidad de cumplir con la solicitud.
  • 502 “Bad Gateway” – Este error indica que el servidor actuó como puerta de enlace o proxy y recibió una respuesta no válida del servidor ascendente. Esta es la descripción oficial, pero hay varios factores que pueden causar este error. Obtén más información sobre el error HTTP 502 “Bad Gateway” y cómo solucionarlo aquí.
  • 504 “Gateway Timeout” – El servidor actuó como puerta de enlace y no recibió una respuesta oportuna del servidor ascendente. En la mayoría de los casos, este error es causado por scripts PHP que no terminan a tiempo y exceden el límite de tiempo de espera de la variable PHP max_execution_time, por lo tanto, el servidor termina la conexión. Puedes ver más detalles en este artículo sobre el HTTP 504 “Gateway Timeout” y cómo solucionarlo.
  • 505 “HTTP Version Not Supported” – El servidor no es compatible con la versión HTTP utilizada en la solicitud.
  • 506 “Variant Also Negotiates” – Este error ocurre cuando el cliente y el servidor entran en Negociación de Contenido Transparente, que permite al cliente recuperar la mejor variante de un recurso cuando el servidor soporta múltiples versiones. Sin embargo, hay una configuración incorrecta y el recurso elegido también solicita una negociación de contenido que causa un bucle cerrado.
  • 507 “Insufficient Storage (WebDAV) – El servidor no puede almacenar la representación requerida para completar la solicitud.
  • 508 “Loop Detected” (WebDAV) – El servidor detectó un bucle infinito al procesar la solicitud.
  • 510 “Not Extended” – Se requieren más extensiones a la solicitud para que el servidor la cumpla. Este código ya no está disponible.
  • 511 “Network Authentication Required” – Esta respuesta se envía cuando necesitas ser autenticado para que la red pueda enviar tu solicitud a un servidor. Más comúnmente, se ve al intentar usar una red Wi-Fi, y debe aceptar sus Términos de acuerdo.

Algunos códigos de estado HTTP no oficiales

Los códigos anteriores son reconocidos oficialmente por IANA, pero diferentes plataformas usan códigos HTTP no oficiales para indicar problemas específicos relacionados con sus servicios. Los siguientes códigos se utilizan en algunos de los servicios en línea más populares.

  • 430 “Request Header Fields Too Large” –Shopify usa este código cuando se solicitan demasiadas URL al mismo tiempo. Es similar al código HTTP 429 “Too many requests”.
  • 440 “Login Time-out” – Este código es utilizado por ISS (Internet Information Services) de Microsoft. La sesión de inicio de sesión del cliente ha caducado y debe iniciar sesión de nuevo.
  • 494 “Request header too large” – utilizado por NGINX. El cliente ha enviado una solicitud demasiado grande o una línea de encabezado demasiado larga.
  • 495 “SSL Certificate Error” – Este también es un código de estado utilizado por NGINX que indica que el cliente ha proporcionado un certificado SSL no válido.
  • 496 “SSL Certificate Required” – utilizado por NGINX. Se requiere un certificado de cliente pero no se proporciona.
  • 499 “Client Closed Request” – El cliente terminó la solicitud antes de que el servidor pudiera enviar una respuesta. Otro código usado por NGINX.
  • 520 “Web Server Returned an Unknown Error” – Este es un código utilizado por Cloudflare. Especifica que el servidor de origen devolvió una respuesta inesperada o desconocida a Cloudflare.
  • 521 “Web Server is Down” – Otro código de error específico de Cloudflare. El servidor de origen rechazó la conexión a Cloudflare. Este error podría deberse a que el firewall de origen bloquea las direcciones IP de Cloudflare.
  • 525 “SSL Handshake Failed” – Utilizado por Cloudflare. Cloudflare no puede establecer un protocolo de enlace SSL / TLS con el servidor de origen.
  • 526 “Invalid SSL Certificate” – Otro código utilizado principalmente por Cloudflare. Cloudflare no pudo validar el SSL instalado en el servidor de origen. Por lo general, causado por SSL no válido o faltante en el servidor de origen. Lee esta guía sobre cómo instalar Let’s Encrypt para tu sitio web alojado en SiteGround.

¿Cómo puedo comprobar los códigos de estado HTTP en un sitio web?

Muchos de los códigos no son visibles en las portadas y, por lo general, ves una página solo para los códigos de error 4XX y 5XX. Sin embargo, hay varios métodos que puedes implementar para ver todos los códigos de respuesta que genera un sitio web. Puedes usar la herramienta de inspección de tu navegador (herramientas para desarrolladores), scripts de JavaScript o PHP, o varios comprobadores en línea. Examinaremos algunos de los métodos más populares.

Comprueba los códigos de estado de las herramientas de desarrollo de Google Chrome

Una de las formas más fáciles y rápidas de comprobar los códigos de estado de las respuestas HTTP en un sitio web es utilizando las herramientas de desarrollador en el navegador Chrome. Para acceder, haz clic derecho en la página del sitio web para abrir el menú de diálogo y selecciona Inspeccionar, o presiona F12.

Inspeccionar menú en Chrome

A continuación, abre la consola de herramientas del desarrollador y selecciona Red. Actualiza la página haciendo clic en el botón Cargar página de nuevo  o presionando Command+R para Mac (F5 para Windows). La página mostrará todas las respuestas a las solicitudes que tu navegador envió hacia el sitio web.

Pestaña de Red en Chrome

El código de cada respuesta se puede ver en la columna Estado. Para ver los encabezados completos, haz clic una vez en la respuesta. Aparecerá una nueva sección donde puedes seleccionar Encabezados. Verás los detalles de la solicitud original desde tu navegador, el código de estado HTTP y los encabezados de respuesta.

Encabezados de respuesta en Chrome

Comprueba los códigos de estado de las herramientas de desarrollo web de Mozilla Firefox

Al igual que en Chrome, puede ver los códigos de respuesta desde la consola de herramientas de desarrollo web en Mozilla Firefox. Presiona F12 o haz clic derecho en la página del sitio web y selecciona Inspeccionar en el menú de diálogo.

Inspeccionar menú en Firefox

Necesitarás actualizar la página presionando el botón Recargar o usando el atajo de teclado Command + R para Mac (F5 para Windows). Luego, selecciona la pestaña Red , donde puedes ver todas las respuestas a las solicitudes de tu navegador.

Pestaña de Red en Firefox

El código de cada respuesta se puede ver en la columna Estado. Al hacer clic en cualquier respuesta, verá información detallada sobre la solicitud original, el código de estado y los encabezados de respuesta.

Encabezados de respuesta en Firefox

Comprueba los códigos de estado desde Google Search Console

Como propietario de un sitio web, mantener una clasificación SEO saludable es crucial para tu negocio en línea. Los errores HTTP pueden evitar que Google indexe tu sitio web y, por lo tanto, perderá mucho tráfico potencial. Es por eso que Google Search Console es extremadamente útil para identificar tales errores para que pueda corregirlos de manera oportuna.

En primer lugar, necesitarás añadir tu web como una nueva propiedad en Google Search Console. Esto crea un panel donde puedes monitorizar varias estadísticas de tu sitio web.

Los códigos HTTP registrados por Google se pueden monitorizar en la sección Indice > Páginas > ¿Por qué hay páginas que no se indexan?

Check the status codes from Google Search Console

Debajo de la columna Motivo, verá una breve descripción del error. Por ejemplo, un error 404 aparecerá como No se ha encontrado (404), y un error 500 o 5XX se marcará como Error de servidor (5XX). Las redirecciones con códigos 3XX se registrarán como Página con redirección.

También puedes ver si el error proviene de Google o del sitio web en sí en la columna Fuente.

Resumen

Hay muchos códigos HTTP y cada uno tiene un significado diferente. No es necesario que los recuerdes todos, pero es importante saber que son respuestas del servidor del sitio web a las solicitudes de tu navegador. Algunos de ellos son informativos y no los verás en tu navegador. Debes prestar especial atención a los errores 4XX(del lado del cliente) y 5XX(del lado del servido) ya que son críticos para el tráfico de tu sitio web y generalmente impiden que los usuarios visiten un sitio web.

Esta guía examinó todos los códigos de respuesta HTTP oficiales y algunos no oficiales utilizados en plataformas específicas. ¡Esperamos que haya sido útil!

Comparte este artículo