Ir al contenido principal

El nacimiento de la World Wide Web y los Fundamentos de la web (HTTP y HTML)

Introducción:

¿Que es la Web? Cualquiera puede responder, es la red informática mundial. Pero como curiosos que somos, queremos saber más. ¿Que es la Wed? ¿Donde nació la Web? ¿Quien creo la web? ¿Cuales son los fundamentos de la Web? ¿Que es HTTP? ¿Que es WWW? ¿Quien es Santa Claus?. En el día de hoy, resolveremos estas interrogantes.

Una breve historia sobre la WWW:

La WWW (World Wide Web) o, la web, se a convertido, junto al correo electrónico, en el caballo de batalla de Internet. Ésta ha dejado de ser una inmensa biblioteca de paginas estáticas para convertirse en un servicio que nos permite a acceder a una gran multitud de funciones, así como una gran infinidad de servicios, programas, tiendas, aplicaciones, y muchos más.

En el año 89, Tim Berners-Lee,mientras trabajaba en el CERN (Centro Europeo de Investigación Nuclear), empezó a realizar un sistema que hiciera más accesible la información del CERN. Este sistema, utilizaba el hipertexto para estructurar una red de enlaces entre los documentos. Una vez obtenido la aprobación de continuar con el proyecto, nació el primer navegador web llamado "WorldWideWeb".

Resultado de imagen para world wide web

Para 1992 el sistema se había extendido fuera del CERN. El numero de servidores "estable" había alcanzado la sorprendente cifra de 26. A partir de aquí, el crecimiento es espectacular.

En 1993, nace Mosaic, un navegador web para Windows, que posteriormente se convertiría en Netscape el cual fue un factor clave para la popularización de la web. En 1994 se fundó la WWW Consortium que se convertiría en el motor de desarrollo de los estándares predominantes de la web. partir de ese momento, el crecimiento ya fue constante, convirtiéndose hacia finales de los noventa en el servicio insignia de Internet y dando lugar al crecimiento imparable de los servicios en línea que estamos experimentado actualmente.

Resultado de imagen para mosaic web

Los ingredientes secretos de la WWW:


¿Cuales fueron los ingredientes que permitieron el éxito de la web? El éxito de la web se basa en dos puntuales fundamentales: el protocolo HTTP y el lenguaje HTML. Uno permite una implementación simple y sencilla de un sistema de comunicaciones que nos permite enviar cualquier tipo de ficheros de una forma fácil, simplificando el funcionamiento del servidor y permitiendo que servidores poco potentes atiendan miles de peticiones y reduzcan los costes de despliegue. El otro nos proporciona un mecanismo de composición de páginas enlazadas simple y fácil, altamente eficiente y de uso muy simple.

El protocolo HTTP:

El protocolo HTTP (Protocolo de Transferencia de Hipertexto) es el protocolo base de la WWW. Es un protocolo simple orientado a conexión y sin estado. La razón de que este orientado a conexión es que emplea para su funcionamiento un protocolo de comunicación, TCP (Protocolo de Control de Transmisión), de modo conectado. El protocolo TCP, estable un canal de comunicaciones de extremo a extremo (entre el cliente y el servidor) por donde pasan el conjunto de bytes que constituyen los datos que hay que transferir. El protocolo HTTP no mantiene estado, es decir, cada tranferencia de datos es una conexión independiente de la anterior, sin relación alguna entre ellas, hasta el punto de que para transferir una pagina web tenemos que enviar el código HTML, así como las imágenes que la componen.

De manera esquemática, el funcionamiento de HTTP es el siguiente: El cliente establece una conexión TCP hacia el servidor, hacia el puerto HTTP, envia un comando HTTP de petición de un recurso (junto con algunas cabeceras informativas) y por la misma conexión el servidor responde con los recursos solicitados y algunas cabeceras informativas.
Imagen relacionada




Existe una variante de HTTP llamada HTTPS (Protocolo Seguro de Transferencia de Hipertexto) el cual usa el protocolo de seguridad SSL (Secure Socket Layer) para cifrar y autenticar el trafico web entre el cliente y el servidor, siendo esta muy usado por los servidores web de comercio electrónico, así como por aquellos que contiene información personal o confidencial.

Resultado de imagen para HTTPS




A continuación describiré algunas directivas de petición que define HTTP 1.1:
  1. GET: Petición de recurso.
  2. POST: Petición de recurso pasando parámetros.
  3. HEAD: Petición de cabeceras informativas.
  4. PUT: Creación o envió de recursos.
  5. DELETE: Eliminación de recurso.
  6. TRACE: Devuelve el origen de la petición tal como se ha recibido en el receptor, para depurar errores.
  7. OPTIONS: Sirve para comprobar las capacidades del servidor.
  8. CONNECT: Reservado para uso en servidores intermedios capaces de funcionar como túneles.

Peticiones en HTTP - GET y POST:

Las peticiones en HTTP pueden realizarse utilizando dos métodos. El método GET en caso de enviar parámetros junto a la petición, las enviaría codificadas en la URL. El método POST en caso de enviarlos, lo haría como parte del cuerpo de la petición.


En la imagen anterior, podemos presenciar una petición GET.

La primera linea es conocida como la linea de petición, la cual contiene:
  1. Método: En este caso GET.
  2. Identificador de Recurso: URL del recurso solicitado ("/index.html").
  3. Versión del protocolo: solicitada para la respuesta.

Las cabeceras de petición, contiene información que pueden ayudar al servidar a procesar adecuadamente nuestra petición.

La información se proporciona de la forma: identificar: valor.

  1. Host: nombre del servidor solicitado.
  2. User-agent: nombre del navegador o programa usado para acceder al recurso.
  3. Accept: algunos formatos de texto e imágenes aceptados por el cliente.
  4. Accept-language: idiomas soportados por el cliente.

Respuesta en HTTP:

Las respuestas en HTTP son similares a las peticiones que realizamos. La respuesta a la petición mostrada anteriormente, se vería algo así:



En ella podemos observar que en la primera linea nos responde con la versión del protocolo empleado para enviarnos la pagina, seguida de un código de retorno y una frase de retorno. El código de retorno puede adoptar una de los siguientes valores:

  1. 1xx: Petición recibida, continua en proceso.
  2. 2xx: Correcta. Petición procesada correctamente.
  3. 3xx: Redirección. La petición debe repetirse o redirigirse.
  4. 4xx: Error de cliente. No se puede realizar la petición porque esta es incorrecta.
  5. 5xx: Error de servidor: El servidor ha fallado al tratar de procesar la petición, que a priori es correcta.

El lenguaje HTML:

El otro ingrediente, que aseguro el éxito de la web, es el lenguaje HTML (Lenguaje de Marcado de Hipertexto). HTML es un lenguaje de marcado que nos permite representar de forma rica el contenido y también referenciar otros recursos (imágenes, entre otros), enlaces a otros documentos (la característica más destacada de la WWW), mostrar formularios para posteriormente procesarlos, entre muchas cosas más.

Resultado de imagen para HTML

HTML es un lenguaje que cualquiera con conocimientos de programación, lo conoce, aun sin uno ser desarrollador web, ya que en muchas ocasiones, nos toparemos con el.

Bueno, creo que es suficiente por hoy, ¿Que te pareció? interesante, verdad.

¿Que esperas? Es tu turno de crear tu propio navegador web.

Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

Comentarios

Entradas más populares de este blog

Calculando el factorial de un número (ejemplo de función recursiva).

Hola, mi nombre es Antonio Alfonso Martínez y en el presente artículo me dispongo a explicar un sencillo método para calcular el factorial de un número haciendo uso del concepto de recursividad. Para empezar, diremos que el factorial de un número natural "n" es el resultado del producto de todos los números desde 1 hasta dicho número "n". Así, para efectuar el calculo del factorial de un número, vamos a emplear una sencilla función a la que daremos el nombre de "factorial". De modo, que, partiendo del hecho de que el factorial de 1 y 0 es 1, construiremos nuestra función (a la que daremos el nombre de "factorial") para realizar el calculo del factorial de 5: Lo que hace esta función, es tomar como argumento un número "n". de modo que si este es 0 o 1 ("if n==0 or n==1:") la función devolverá directamente como resultado el número 1 ("resultado=1"). Sin embargo si dicho número "n" es mayor que...

Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones

PRÓLOGO El libro Ejercicios de Programación en Java: Condicionales, Bucles, Tablas y Funciones nace como fruto de años de docencia en materias relacionadas: Algorítmica, Programación, Lenguaje C y Java, entre otros.  Con el paso del tiempo he constatado que aprender un lenguaje de programación es relativamente sencillo y sobre este tema existen muchos y muy buenos textos. Pero aprender a programar es algo totalmente distinto, que necesita de un mayor esfuerzo y abordar el problema desde otra perspectiva. Siempre utilizo la metáfora del pianista para explicar el tándem programar/lenguaje de programación: saber tocar las notas de un piano es relativamente fácil, tan solo debemos anotar en cada una de las teclas a qué nota musical corresponde. Esto sería similar a conocer un lenguaje de programación. Es muy sencillo utilizar un if o entender la mecánica de un while .  Volviendo al piano: una vez que dominamos la relación tecla/nota, un pianista debe aprender muchas ot...

Sistema Hexadecimal - Sistema de numeración posicional

Sistema Hexadecimal El sistema hexadecimal es un sistema numérico que tiene como base el numero 16, y es una variante de los numero binarios El sistema hexadecimal es utilizado por nuestros ordenadores con el fin de abreviar valores de datos e instrucciones de memoria. Esta es una imagen que muestra el contenido de un archivo con exención 'dll' en un editor de texto, como el editor de texto no reconoce este tipo de archivo, nos lo muestra de esta manera: Como se puede apreciar, en vez de ver una gran cantidad de 0 y 1, vemos que hay grupos de 4 dígitos, y si observamos, vemos que son grupos de dígitos hexadecimales. El archivo cuentan con más de 48 mil lineas, por ello no se me es posible mostrarlo todo. Este es uno de los usos del sistema hexadecimal para abreviar grandes cantidades de 0 y 1. Ustedes mismos pueden hacer la prueba con una imagen o con cualquier otro tipo de texto. El sistema hexadecima, esta conformado por solo 16 dígitos. A continuación te lo...