lunes, 2 de septiembre de 2013

La verdadera historia del Error 404




Cualquiera que haya pasado más de 5 minutos dando vueltas por la web, se habrá topado con una página informando que se ha producido un “Error 404″. Esto se produce cada vez que nuestro navegador solicita una página que no existe en el servidor. Pero ¿sabes por qué se llama “Error 404″?

Internet no siempre fue la red que conocemos y disfrutamos hoy. En sus comienzos, era poco más que un puñado de ordenadores conectados entre sí, un proyecto ambicioso desarrollado por un grupo de jóvenes científicos del CERN (Suiza), intentando mantenerse al tanto del trabajo de sus pares en todo el mundo.

Ellos fueron los creadores de la "World Wide Web", conocida mundialmente como WWW o "la web". Es decir, los muchachos idearon todo un sistema de comunicaciones de datos que no solo les solucionó el problema, sino que, una vez abierto al público en general y treinta años más tarde, goza de una inmejorable salud.

Este puñado de jóvenes mentes brillantes eran renuentes revelar su progreso (y fracasos) al mundo, por lo que comenzaron a desarrollar su protocolo en un ambiente cerrado: la red interna de la CERN. Mucha agua debía pasar debajo del puente antes de que se convirtiese en una red con acceso a cada hogar, distribuyendo documentos multimedia. Usando la disposición física de la red y de los edificios de la CERN como metáfora para el "mundo real" situaron diversas funciones del protocolo en diversas oficinas dentro de la CERN.

En una oficina, situada en el cuarto piso, estaba ubicada la base de datos central del World Wide Web: cualquier pedido de ficheros era encaminado a esa oficina, en donde dos o tres personas(¡sí, personas!) lo localizaban manualmente utilizando métodos que hoy parecen medievales y los transferirían, mediante la red, a la persona que había realizado la petición. Esta habitación era conocida como "Room 404" (Sitio 404).

Inevitablemente, la base de datos comenzó a crecer, y también la cantidad de gente con acceso a los documentos que en ella se almacenaba. Y también comenzaron a aparecer algunos problemas: había gente poco familiarizada con el sistema que efectuaba peticiones de documentos que no existían, o con nombres de archivo escritos incorrectamente. El personal a cargo de la "Room 404" enviaba, en esos casos, una nota explicando que el documento no podría ser hallado. Rápidamente, estas peticiones erróneas fueron contestadas con un mensaje estándar: "Sitio 404: archivo no encontrado".

Tiempo más tarde, cuando los procesos de respuesta fueron automatizados y los trabajadores del cuarto piso fueron reemplazados por ordenadores, los usuarios de la red pudieron acceder directamente a los documentos almacenados en la base de datos. Sin embargo, el mensaje de error estándar para indicar que un documento determinado no podía ser hallado siguió siendo el mismo: "404: file not found".

Este número de error ha sobrevivido hasta nuestros días, y forma parte de la lista oficial de errores del HTTP (Hyper Text Transfer Protocol, o Protocolo para la Transferencia de Hipertexto)

Es posible encontrar en internet diferentes pantallas de “Error 404”, ya que los servidores de páginas web permiten la personalización de este mensaje, de forma que el administrador de cada sitio pueda adaptarlo a la estética general del resto de sus páginas. Acompañando a este artículo puedes ver algunas de las que más nos llamaron la atención.

Esta historia tiene todo lo necesario para ser verdadera. Pero hay algunos que aseguran que se trata de otra leyenda urbana. Quienes defienden esta postura se basan en que, según está definido en el protocolo estándar HTTP, el número de ésta respuesta (404) está definido de la siguiente forma: el primer número indica el tipo de respuesta, en este caso el 4 significa “error del cliente”. Los siguientes dos número indican el subtipo de error, en este caso el 04 ("Not found").

Este argumento es válido, y está documentado en w3.org, la organización encargada de velar por el estándar “www”. Pero no se puede negar que es mucho más atractiva y romántica la historia que acabamos de leer.

Esta es la historia que aparece recogida en http://www.neoteo.com, sin embargo, en la Wikipedia encontramos esta otra explicación, quizás un poco más realista...


HTTP Error 404 o no encontrado es un código de estado HTTP que indica que el host ha sido capaz de comunicarse con el servidor, pero no existe el fichero que ha sido pedido. Por ejemplo, si se accede a la URL http://wikipedia.org/xyzjk el servidor de Wikipedia devolverá una página de error y el código de error HTTP 404. Este error no debe ser confundido con "servidor web no encontrado" o errores similares en los que se indica que no se ha podido realizar la conexión con el servidor.

Cuando se establece una comunicación HTTP se pide al servidor que responda a una petición, como un navegador web solicitando un documento HTML (una página web). El servidor responde con un código numérico de error HTTP y un mensaje. En el código 404, el primer "4" indica un error del cliente, como una URL mal escrita.

Junto al código de error 404, el servidor suele enviar un texto en que explica el motivo del error. La especificación HTTP sugiere la frase "Not Found" (No encontrado).1 Muchos servidores por defecto muestran una página web que incluye el código 404 y la frase "Not Found". Los servidores pueden ser configurados para mostrar cualquier página en caso de que la pedida no exista.

Sin embargo, Internet Explorer y Chrome, por defecto no muestran estas páginas de error a no ser que ocupen más de 512 bytes, mostrando una página de error "amigable".

A menudo los servidores devuelven un error 404 cuando las páginas se mueven o se borran. En el primer caso, una respuesta más correcta sería devolver un código de error 301 (Movido permanentemente). En el segundo caso se debería devolver un error 410 (Borrado). Como las dos opciones requieren configurar el servidor específicamente, la mayoría de los sitios no hacen uso de estos códigos.

Los errores 404 no deben ser confundidos con errores de DNS, los cuales aparecen cuando parece que la URL apunta a un servidor web que no existe. Estos no son errores 404, que siempre son devueltos por un servidor.


No hay comentarios:

Publicar un comentario en la entrada