Varias veces me he preguntado… ¿por qué miércoles no es http: en lugar de http:// o https://? o, poniéndolo de otra manera… ¿para qué carajo están las dos barras en la dirección de un sitio web?
Al principio pensé que sería una convención o protocolo que databa de los comienzos de internet (la época de ARPANET) pero no, se debió, lisa y llanamente a una decisión personal de Tim Berners-Lee, un britanico que fue “ascendido” a Sir y por muchos es considerado el “padre” de la web a través de hipertexto (HTTP) tal cómo la conocemos.
Resulta que Tim tenía una visión de hacer una plataforma en la cual sea mas sencillo y amigable la creación y luego la divulgación de información a través de internet. Centrémonos a principios de los años 90. Windows 3.1 dominaba el planeta, no existían los navegadores web e “internet” era una mezcla de protocolos complejos cómo los BBS, Usenet y un rudimentario e-mail cuya utilización era “cosa de pocos” y básicamente estos usuarios eran personajes realmente adeptos a la informática, principalmente por la dificultad de manejo de las primeras interfaces.
Lo que hizo Berners-Lee fue “subirse a la espalda de los gigantes” y armar un rompecabezas para crear una nueva manera de transmitir y compartir información. Tras muchos meses de trabajo en el CERN (Union Europea para la investigación nuclear) donde se encargó de unir distintos protocolos y servicios existentes (internet, DNS, hipertexto, entre otros) al final pudo tener una versión funcional de la primera versión el protocolo HTTP. El primer servidor web fue una Workstation Next – esas que desarrolló Steve Jobs cuando lo rajaron de Apple – corriendo CERN HTTPd.
Cómo el protocolo HTTP está basado en el concepto cliente-servidor, además de servidor era necesario un cliente, así que su creador tuvo que desarrollar también un cliente web. Lo llamó World Wide Web, nombre un tanto confuso para el primer navegador de la historia que luego fue renombrado como Nexus. El primer sitio web creado fue, obviamente, sobre el proyecto y todavía puede visitarse en http://info.cern.ch/hypertext/WWW/TheProject.html aunque obviamente y debido a la demanda ahora el sitio está online gracias a máquinas mucho más poderosas que aquel viejo Next corriendo servidores web apache.
Entonces, ¿por qué las dos barras después del HTTP?
Básicamente fue una decisión personal del creador del protocolo, es decir, lo hizo porque se le cantó el forro del traste. Me hubiese gustado saber que fue por algo un poco más significativo o por lo menos que tendría una historia detrás, pero no. Al parecer la doble barra le da cierto sistema de jerarquía ya que luego se usa solo una barra. De hecho hace un tiempo él mismo salió a pedir disculpas por las molestias que ocasiona (en realidad ocasionó ya que últimamente es algo cada vez mas “transparente”) las 2 barras que están demás y los miles de kilogramos de tinta, de papel y de bits que se gastaron por una decisión que podría haber sido mejorada.
Se trata, sin dudas, de una declaración de una persona muy humilde, de grandeza. Realmente es algo que a nadie le cambiaría pero de seguro al menos muchos de ustedes, al igual que yo, nos hemos preguntado alguna vez.
Para interiorizarse un poco más, el RFC 1738.
Esto lo mismo que preguntarse porqué en DOS te aparece «C:\» y no solo «C:». Para mi cumple la misma función que las dos «//», marcas jerarquía sobre lo que viene después.
Fijate que en mi caso, la señal del prompt por defecto del D.O.S. (C:\>) me era muy útil (aunque uno puede personalizarla con el comando interno «prompt», por ejemplo «prompt $n$g» te deja una señal de prompt así: (C>) , pero no te indica el nombre de paso (pathname) y no sabes donde estas parado dentro del árbol de directorios. La barra «\» sola es sinónimo del directorio raíz, asi como el punto «.» es el directorio en el que estás parado, y dos puntos «..» es el directorio superior al que estas parado. Por ejemplo, «cd \» te cambiaba al directorio raíz, «cd ..» lo hacía al directorio superior inmendiato». Digo que me era muy útil, pues el primer computador que utlicé (un NCR Decision Mate V) tenía un procesador dual, constaba de un Intel 8086 de 16 bits y un Zilog Z-80 de 8 bits. Si lo arrancabas con D.O.S., trabajaba el 8086, pero si arrancabas con el sistema operativo Digital Research CP/M-80, el que trabajaba era el procesador Z-80. En CP/M-80 no existía la estructura jerárquica arbolada del formato FAT-16 del D.O.S., asi que con solo ver el prompt yo sabía que sistema operativo estaba corriendo en ese momento el equipo. Todo esto que te cuento sucedía allá por marzo de 1986…
Muy buen artículo Guillermo, me encanta la historia referente a la informática. Recuerdo que en las épocas de los 90’s, saber algo de computación y algo de hacer páginas web era algo de inteligentes. Hoy día cualquiera sabe configurar una pc, y saber de informática no es algo extraordinario como en esa época.
Miré el código fuente de ese que mostrás que es el primer sitio web, y me dio curiosidad que no tiene el tag. También todo tiene un atributo «name».
Ah, y por último, todas las etiquetas están en mayúsculas, me hace acordar a las revistas de fines de los 90 con las que aprendí a maquetar mis primeros sitios (se me planta un lagrimón).
lo hizo porque se le cantó el forro del traste.
¡HALELUYA POR TU HERMOSA, SENCILLA Y DIDÁCTICA EXPLICACIÓN! ¡ESE ES MI POLLO!
The more you know…Apache es un juego de palabras…el primer servidor web estaba plagado de bugs, algo normal, y a medida se fueron arreglando (mediante parches) el nombre fué cambiando de webserver a «a patchy webserver» y posteriormente a «apache webserver», cortesía del uso del comando de diccionario de UNIX…