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 solo 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

good-practices

refactoring

php

testing

tdd

python

blogtober19

design-principles

design-patterns

tb-list

misc

bdd

legacy

golang

dungeon

ruby

tools

tips

hexagonal

ddd

bbdd

soft-skills

books

oop

javascript

api

sql

ethics

typescript

swift

java

agile