En las comunicaciones de redes informáticas , el mensaje HTTP 404 , 404 no encontrado , 404 , 404 error , página no encontrada o archivo no encontrado es un código de respuesta estándar del protocolo de transferencia de hipertexto (HTTP) para indicar que el navegador pudo comunicarse con un servidor determinado , pero el servidor no pudo encontrar lo solicitado. El error también puede usarse cuando un servidor no desea revelar si tiene la información solicitada. [1]
El servidor de alojamiento del sitio web generalmente generará una página web "404 No encontrado" cuando un usuario intenta seguir un enlace roto o inactivo ; por lo tanto, el error 404 es uno de los errores más reconocibles que se encuentran en la World Wide Web .
Al comunicarse a través de HTTP, se requiere que un servidor responda a una solicitud, como una solicitud de un navegador web para una página web , con un código de respuesta numérico y un mensaje opcional, obligatorio o no permitido (según el código de estado). En el código 404, el primer dígito indica un error del cliente, como un localizador uniforme de recursos (URL) mal escrito. Los dos dígitos siguientes indican el error específico encontrado. El uso de códigos de tres dígitos de HTTP es similar al uso de dichos códigos en protocolos anteriores como FTP y NNTP . A nivel HTTP, un código de respuesta 404 es seguido por una "frase de motivo" legible para humanos. La especificación HTTP sugiere la frase "No encontrado" [1] y muchos servidores web de forma predeterminada emiten una página HTML que incluye tanto el código 404 como la frase "No encontrado".
A menudo se devuelve un error 404 cuando se han movido o eliminado páginas. En el primer caso, es mejor emplear la asignación de URL o la redirección de URL devolviendo una respuesta 301 Moved Permanently, que se puede configurar en la mayoría de los archivos de configuración del servidor, o mediante la reescritura de URL ; en el segundo caso, se debe devolver un error 410 Gone. Debido a que estas dos opciones requieren una configuración especial del servidor, la mayoría de los sitios web no las utilizan.
Los errores 404 no deben confundirse con los errores DNS , que aparecen cuando la URL indicada hace referencia a un nombre de servidor que no existe. Un error 404 indica que se encontró el servidor, pero que no pudo recuperar la página solicitada.
El término "404 Not Found" fue acuñado por el creador de HTTP Tim Berners-Lee , quien explicó en una entrevista de 1998 que quería que el mensaje de error fuera "ligeramente apologético". [2] También dijo que consideró usar "400 Bad Request" en su lugar, pero decidió que era demasiado vago y técnico. [2]
El primer caso documentado de un error 404 que apareció en una página web fue en 1993, cuando un usuario intentó acceder a una página sobre el navegador web Mosaic en el sitio web de NCSA. La página había sido movida a una ubicación diferente, pero el enlace no había sido actualizado. [3] El usuario informó el error al equipo de NCSA, que arregló el enlace y agregó un mensaje humorístico a su página 404: "Lo sentimos, pero el documento que solicitó no está aquí. Tal vez debería intentarlo en otro lugar". [2]
Desde entonces, los errores 404 se han convertido en uno de los errores más comunes y reconocibles en la Web. Muchos sitios web han personalizado sus páginas 404 con diseños creativos, mensajes o funciones para entretener o ayudar a sus visitantes. Por ejemplo, la página 404 de Google presenta un robot roto y un enlace a su página de inicio, [4] mientras que la página 404 de GitHub muestra una imagen aleatoria de un campo de estrellas de paralaje y un enlace a su página de estado. [5] Algunos sitios web también han utilizado sus páginas 404 para mostrar la personalidad de su marca, humor o causas sociales. Por ejemplo, la página 404 de Lego muestra la minifigura de Lego Emmet junto con un mensaje humorístico, [6] la de Amazon muestra la imagen de un perro, [7] la de Peugeot muestra una imagen de su modelo 404 , [8] y la de RTÉ muestra una imagen de Bosco . [9] [10]
Algunos sitios web informan de un error de "no encontrado" devolviendo una página web estándar con un código de respuesta "200 OK", informando falsamente que la página se cargó correctamente; esto se conoce como un error 404 suave . El término "404 suave" fue introducido en 2004 por Ziv Bar-Yossef et al . [11]
Los errores 404 suaves son problemáticos para los métodos automatizados de detección de enlaces rotos. Algunos motores de búsqueda, como Yahoo y Google , utilizan procesos automatizados para detectar errores 404 suaves. [12] Los errores 404 suaves pueden ocurrir como resultado de errores de configuración al utilizar cierto software de servidor HTTP, por ejemplo con el software Apache , cuando un Error Document 404 (especificado en un archivo .htaccess ) se especifica como una ruta absoluta (por ejemplo, http://example.com/error.html) en lugar de una ruta relativa (/error.html). [13] Esto también se puede hacer a propósito para obligar a algunos navegadores (como Internet Explorer ) a mostrar un mensaje de error 404 personalizado en lugar de reemplazar lo que se sirve con un mensaje de error "amigable" específico del navegador (en Internet Explorer, este comportamiento se activa cuando se sirve un 404 y el HTML recibido es más corto que una cierta longitud, y el usuario puede deshabilitarlo manualmente).
También existen errores "soft 3XX" en los que el contenido se devuelve con un estado 200 pero proviene de una página redirigida, como cuando las páginas faltantes se redirigen a la página de inicio/raíz del dominio.
Algunos servidores proxy generan un error 404 cuando un código de error de rango 500 sería más correcto. Si el servidor proxy no puede satisfacer una solicitud de una página debido a un problema con el host remoto (como errores de resolución de nombres de host o conexiones TCP rechazadas), esto debería describirse como un error interno del servidor 5xx, pero podría generar un error 404 en su lugar. Esto puede confundir a los programas que esperan respuestas específicas y actúan en función de ellas, ya que ya no pueden distinguir fácilmente entre un servidor web ausente y una página web faltante en un servidor web que está presente.
En julio de 2004, el proveedor de telecomunicaciones del Reino Unido BT Group implementó el sistema de bloqueo de contenido Cleanfeed , que devuelve un error 404 a cualquier solicitud de contenido identificado como potencialmente ilegal por la Internet Watch Foundation . [14] Otros ISP devuelven un error HTTP 403 "prohibido" en las mismas circunstancias. [15] La práctica de emplear errores 404 falsos como un medio para ocultar la censura también se ha informado en Tailandia [16] y Túnez . [17] En Túnez, donde la censura era severa antes de la revolución de 2011 , la gente se dio cuenta de la naturaleza de los errores 404 falsos y creó un personaje imaginario llamado " Ammar 404 " que representa "el censor invisible". [18]
El software de servidor web desarrollado por Microsoft, Internet Information Services (IIS), devuelve un conjunto de códigos de subestado con sus respuestas 404. Los códigos de subestado toman la forma de números decimales que se agregan al código de estado 404. Los códigos de subestado no están reconocidos oficialmente por la IANA y no son devueltos por servidores que no sean de Microsoft.
Los servidores IIS 7.0, IIS 7.5 e IIS 8.0 de Microsoft definen los siguientes códigos de subestado HTTP para indicar una causa más específica de un error 404:
Los servidores web pueden configurarse normalmente para mostrar una página de error 404 personalizada, que incluye una descripción más natural, la marca del sitio principal y, a veces, un mapa del sitio, un formulario de búsqueda o un widget de página 404. La frase de nivel de protocolo, que está oculta para el usuario, rara vez se personaliza. Sin embargo, Internet Explorer no mostrará páginas personalizadas a menos que tengan un tamaño superior a 512 bytes, optando en su lugar por mostrar una página de error "amigable". [19] Google Chrome incluyó una funcionalidad similar, donde el 404 se reemplaza con sugerencias alternativas generadas por algoritmos de Google, si la página tiene un tamaño inferior a 512 bytes. [20] Otro problema es que si la página no proporciona un favicon y existe una página 404 personalizada independiente, se generará tráfico adicional y tiempos de carga más largos en cada vista de página. [21] [22]
Muchas organizaciones utilizan las páginas de error 404 como una oportunidad para inyectar humor en lo que de otro modo podría ser un sitio web serio. Por ejemplo, Metro UK muestra un oso polar en una patineta, y la agencia de desarrollo web Left Logic tiene un programa de dibujo simple. [23] Durante la campaña electoral general del Reino Unido de 2015, los principales partidos políticos utilizaron sus páginas 404 para apuntar a los oponentes políticos o mostrar políticas relevantes a los posibles partidarios. [24] En Europa, el proyecto NotFound , creado por varias organizaciones europeas, incluidas Missing Children Europe y Child Focus , alienta a los operadores de sitios a agregar un fragmento de código para servir páginas de error 404 personalizadas [25] que brinden datos sobre niños desaparecidos . [26]
Si bien muchos sitios web envían información adicional en un mensaje de error 404 (como un enlace a la página de inicio de un sitio web o un cuadro de búsqueda), algunos también intentan encontrar la página web correcta que el usuario deseaba. Existen extensiones disponibles para algunos sistemas de gestión de contenido (CMS) que permiten realizar esta tarea. [27]
Existen varias herramientas que rastrean un sitio web para encontrar páginas que devuelven códigos de estado 404. Estas herramientas pueden ser útiles para encontrar enlaces que existen dentro de un sitio web en particular. La limitación de estas herramientas es que solo encuentran enlaces dentro de un sitio web en particular e ignoran los errores 404 que resultan de enlaces en otros sitios web. Como resultado, estas herramientas pasan por alto el 83% de los errores 404 en los sitios web. [28] Una forma de evitar esto es encontrar errores 404 mediante el análisis de enlaces externos. [29]
Una de las formas más efectivas de descubrir errores 404 es mediante Google Search Console , Google Analytics o un software de rastreo.
Otro método común es el seguimiento del tráfico a las páginas 404 mediante el análisis de archivos de registro. [30] Esto puede ser útil para comprender mejor a qué páginas 404 llegaron los usuarios en el sitio. Otro método para rastrear el tráfico a las páginas 404 es utilizar herramientas de seguimiento de tráfico basadas en JavaScript. [31]