The talking bit

A blog about programming, mainly PHP, and maybe other things


Project maintained by franiglesias Hosted on GitHub Pages — Theme by mattgraham

Gopher (Blogtober2019)

por Fran Iglesias

Mi compañera y manager en Holaluz Mavi Jiménez va a hacer un dibujo cada día del mes sobre una palabra propuesta en twitter. Y aquí vamos a intentar escribir un post por cada una de ellas.

Gopher

Seguramente hoy identificas Gopher como el roedor elegido como mascota del lenguaje Go, pero no voy a hablar ni de Go, ni de animales, sino del uno de los antecesores del “Cloud”.

Hasta finales de los años 90, los servicios que funcionaban sobre Internet definían sus propios protocolos de comunicación, montados sobre los protocolos básicos TCP y UDP. DNS (nombres de dominio), Telnet (acceso remoto), SMTP (correo electrónico), FTP (transferencia de archivos) o HTTP (world wide web), entre otros. Y uno de esos otros era Gopher RFC-1436.

Gopher fue inventado en la Universidad de Minnesota por Mark P. McCahill.

Su idea básica era presentarse a los usuarios como un sistema de almacenamiento montable de sólo lectura y acceso global, una especie de disco de red. Los documentos podrían residir físicamente en numerosos servidores, lo que supone una ventaja sobre el FTP, en el cual tienes que saber previamente en qué servidor concreto se encuentra el archivo que buscas, al proporcionarte un único punto de entrada.

Gopher incorporaba sistemas de búsqueda y jerarquía de la información, de modo que podrías examinar documentos organizados en carpetas y realizar búsquedas contra un servidor que te proporcionarían listados de documentos relevantes. Su mayor inconveniente era la rigidez en el formato de archivo y en la forma en que los servidores definían la navegación.

A finales de los años 90, el HTTP, o sea la web, barrió literalmente a Gopher de la red gracias a su tremenda flexibilidad a la hora de compartir documentos y relacionarlos a través de hiperenlaces.

Gopher era una idea muy interesante, pero creo que pecó de ser un protocolo excesivamente “listo”. Por decirlo de alguna manera, sabía demasiado sobre la información que manejaba, lo que acabó por volverla inflexible.

Hoy, HTTP es el protocolo básico sobre el que se mueven casi todos los servicios que usamos a diario. Se ha convertido en la base de una estructura que la mayoría de la gente identifica como “Internet”. La base de su éxito puede ser, precisamente, el definirse como un protocolo “tonto” que ha permitido inventar un montón de usos más allá de los que Tim Benders-Lee imaginó al inventarlo.

Gopher

World of ends

October 2, 2019

Etiquetas: blogtober19  

Temas

php good-practices blogtober19 testing refactoring tdd design-principles legacy misc design-patterns bdd tips python ddd tools soft-skills bbdd api sql ethics testing, swift javascript