Mundo Web
manuales - recursos - gráficos - programación...

Home- HTML - Conceptos básicos - 1 - 2- 3

Conceptos básicos (II)
por Luciano Moreno, del departamento de diseño web de BJS Software.


Arquitectura cliente-servidor.-

En toda petición de una página web intervienen diferentes entidades: por un lado, el programa navegador en el host que realiza la solicitud y por otro lado un programa servidor alojado en un host remoto (denominado servidor web). Ambos programas/equipos se comunican entre sí por medio del acceso a Internet que facilita un PSI (Proveedor de Servicios de Internet) y de las extensiones de red que proporciona una determinada compañía, generalmente de telefonía.

Para establecer la conexión necesaria entre ambas máquinas se utiliza una arquitectura de interconexión de redes, generalmente la arquitectura TCP/IP, en la que los datos en la transmisión van pasando sucesivamente por diferentes dispositivos de red (generalmente routers) desde el host emisor al host destino. Este sistema de comunicación, en el que un host realiza peticiones que son atendidas y contestadas por otro remoto, se denomina arquitectura cliente-servidor. El host que realiza la petición es el cliente, mientras que el host que contesta dicha petición es el servidor.

Los servidores son pues los encargados de almacenar los ficheros HTML, junto con las imágenes, ficheros CSS, ficheros javascript, etc., necesarios para la correcta visualización de la página web. Un mismo servidor web puede estar atendiendo a la vez a diferentes navegadores cliente.

arquitectura cliente-servidor

En este entorno de trabajo, cuando un navegador cliente solicita una página web al servidor se establece una conexión entre ambos, transfiriéndose entonces los ficheros necesarios desde el servidor al navegador, mediante el protocolo HTTP. En el caso de HTTP 1.0 cada uno de los ficheros de la página precisa una conexión y descarga independiente (transacción), por lo que si la página contiene muchas imágenes, por ejemplo, el proceso de carga de la misma se retrasa considerablemente. Este factor se ha mejorado en la versión HTTP 1.1, en la que una única conexión se mantiene para la descarga de todos los ficheros necesarios para visualizar la página solicitada.

Un factor a tener en cuenta en cuanto a HTTP es que no es un protocolo orientado al mantenimiento de estados. Esto quiere decir que cada conexión realizada entre el navegador cliente y el servidor web es independiente, no manteniéndose variables de sesión ni de aplicación, con lo que el almacenamiento de claves, variables, etc. debe realizarse mediante herramientas auxiliares (programación en CGI, ASP, JSP, etc.).

El HTML como lenguaje de marcas.-

Desde un principio las grandes empresas involucradas en el desarrollo de aplicaciones basadas en el intercambio de datso por red buscaban un sistema de organización estructurada de documentost. IBM creó GML (Lenguaje de Marcado Generalizado) para las necesidades de sus sistemas internos de edición, aunque no pasó de ser un lenguaje de uso interno.

La primer tecnología de información estandarizada y estructurada fue SGML (Lenguaje de Marcado Generalizado Estándar). SGML, que también fue creado por IBM, comenzó a ser utilizado por un amplio número de sectores como estándar de información de propósito general. En 1986 SGML surge como estándar ISO, pero debido a su elevada complejidad y coste no pasó a convertirse en un estándar de hecho.

En 1989, Tim Berners-Lee y Anders Berglund, dos investigadores del Laboratorio Europea de Física de Partículas (CERN), crearon un lenguaje basado en etiquetas e hipertexto para marcar documentos técnicos con el fin de compartirlos en Internet. Así surgió una aplicación simplificada del SGML llamado HTML (Lenguaje de Marcas de Hipertexto), que se convirtió en el primer formato de información estándar en la Web.

En sus diferentes versiones, el lenguaje HTML ha ido sufriendo modificaciones que han ido adaptándolo a las necesidades y características de la INTERNET de cada momento. De esta forma, etiquetas que inicialmente se implementaron se han ido suprimiendo luego, mientras que han ido introduciéndose etiquetas nuevas en cada versión.

Y no sólo eso, si no que cada empresa fabricante de navegadores ha ido implementando etiquetas y extensiones propias al lenguaje, de tal forma que llegó un momento en el que reinó un caos casi total, resultando muy difícil la creación de páginas web que se visualizaran igual en los diferentes navegadores.

Para poner un poco de orden es esta situación, diversas empresas del sector (Nestcape, Microsoft, etc.) y diferentes organismos interesados crearon, en 1996 y a instancias de Tim Berners-Lee, el World Wide Web Consortium, más conocido como W3C, que ha tomado bajo su responsabilidad la evolución de los protocolos y estándares asociados con la web.

logotipo del W3C

Al Consorcio de la WWW es pertenecen un gran número de empresas y organizaciones relacianadas con la web, incluyendo AT&T, Adobe Systems, Inc., Microsoft Corporation y Sun Microsystems, Inc. Su propósito es promover el crecimiento de la Web desarrollando especificaciones y software de referencia que estarán disponibles para todos sin costo alguno.

El Consorcio es administrado por el MIT y el INRIA, en colaboración con el CERN, siendo su tarea principal la de recomendar a las empresas y desarrolladores interesados en la Web una serie de pautas sobre cómo deben implementarse los diferentes lenguajes (HTML, CSS, XML, etc.) y tecnologías implicados.

Enfatizo recomendar porque desgraciadamente lo que hace el W3C es eso, y no estandarizar de facto. Es decir, este organismo aconseja cuáles son las implementaciones mejores a su juicio, aunque luego las empresas desarrolladoras tienen la opción de seguir estos consejos o no.

De todas formas, con cada versión del lenguaje HTML las empresas van siguiendo cada vez más las recomendaciones del consorcio, de tal forma que los navegadores web de última generación (Internet Explorer 6.0 y Nestcape 6.1) poseen una mecánica de interpretación de código muy parecida, siendo de desear que en futuras versiones se pudiera escribir un mismo código compatible con ambos. Eso si no se sigue avanzando por el camino actual, de desarrollo del lenguaje XML, que sería la solución ideal para dejar atrás el lenguaje HTML, apostando por un lenguaje más completo, extensible y compatible, elaborado desde cero en busca de la compatibilidad y la estandarización.

Si deseáis más información sobre el W3C, podéis visitar su sitio oficial: http://www.w3.org, en el que encontraréis información sobre los conceptos, lenguajes y tecnologías recomendados para la web.

Esta falta de estandarización en el lenguaje de marcas HTML es debida a su propia naturaleza. Fue creado como un lenguaje divulgativo, para su uso entre investigadores con objeto de permitir el intercambio de documentos de texto, pero posteriormente ha ido desarrollándose de forma incontrolada, con la inclusión en el mismo de posibilidades multimedia (imágenes, vídeo, Flash, applets de Java), de dinamismo (HTML Dinámico), de presentación (CSS) y de operatividad (CGI, ASP, JSP) que no estaban pensadas en un principio.

Al margen de estas consideraciones, como lenguaje de marcas que es, el lenguaje HTML se basa en la introducción en el texto del documento de una serie de etiquetas especiales, que generalmente van en pareja de apertura-cierre, que van a definir el aspecto con que se presentarán los textos, imágenes u otros elementos incluidos entre ambas. Es decir, mediante HTML se estructuran los documentos de una forma lógica para su presentación en los navegadores cliente.

Su sintaxis general es del tipo:

<etiqueta>contenido entre etiquetas</etiqueta>

Donde podemos apreciar cómo las etiquetas se delimitan mediante los símbolos < >, y cómo la etiqueta de cierre lleva al principio el símbolo /. Ejemplo:

<b>Este texto va en negrita</b>

Que hará que el navegador visualice en negrita el texto contenido entre la etiqueta de apertura <b> y la etiqueta de cierre </b>:

Este texto va en negrita

Además, cada etiqueta puede poseer una serie de atributos que modifiquen o amplíen su funcionalidad, atributos que pueden ser obligatorios u opcionales. La sintaxis general de una etiqueta con atributos es:

<etiqueta atributo1=”valor” atributo2=”valor”>Contenido entre etiquetas</etiqueta>

Donde puede haber tantos atributos como sea necesario.

Ejemplo:

<h2 align=”center”>Cabecero</h2>

Que indica al navegador que debe centrar el contenido textual del cabecera, y que nos da:

Cabecero

No es necesario, pero si conveniente encerrar los valores de los atributos entre comillas dobles.

Aunque la mayoría de las etiquetas llevan pareja de cierre, existen algunas que no siguen esta norma, generalmente etiquetas útiles para definir elementos vacíos, sin contenido interno. Este es el caso de la etiqueta usada para incluir una imagen o de la etiqueta definitoria de un salto de línea:

Hola<br>amigo

que nos da:

Hola
amigo

En cuanto a usar mayúsculas o minúsculas en la definición de etiquetas y atributos, HTML no distingue entre unas y otras, por lo que podemos usar el sistema que más nos guste. Eso si, o ponemos todas las etiquetas en mayúsculas, o las ponemos todas en minúsculas, pero nunca mezcladas. Lo mismo podemos decir respecto a los atributos, aunque generalmente los valores de estos de escriben en minúsculas (salvo los códigos de colores en hexadecimal, que se suelen poner en mayúsculas).

 

anterior
siguiente

Home- HTML - Conceptos básicos - 1 - 2- 3