Servicios estándar Internet Web 1.0

Anuncio
Servicios estándar Internet Web 1.0
Resumen
Internet sufre dos transformaciones conceptuales, una es llamada Web 1.0 y otra la
Web 2.0. El tema de estudio de este artículo se basa en la Web 1.0, no es hasta 1993
cuando llega a los usuarios finales con más fuerza, ofreciendo una serie de servicios
que se ofrecen a través del protocolo TCP/IP.
Palabras clave
Internet, servicios, socket, protocolo, rfc, DNS, dhcp, HTML, http, ftp, smtp, pop3,
Telnet, nntp, bootp, snmp, finger, x500, xml.
1 Introducción
El protocolo TCP/IP, es la base para la comunicación de las distintas redes y de
ordenadores que se conectan a Internet. Antes de pasar a nivel de aplicación se va a
definir que es el interfaz de TCP/IP y el modelo de aplicación cliente/servidor. El
interfaz de TCP/IP surge por la necesidad trabajar entre el nivel de aplicación y
cualquier arquitectura de red. Las aplicaciones de Internet se basan en los servicios
TCP y UDP y su diseño se basa en el modelo cliente/servidor, es decir, tener una
aplicación cliente en la que tendrá un proceso cliente y una aplicación servidora con un
proceso servidor que estará ejecutándose continuamente pendiente de peticiones que
le hagan los clientes. Por tanto ambas aplicaciones Cliente/Servidor utilizan el interfaz
TCP/IP llamado sockets.
2 Servicios estándar de Internet
Antes de pasar a estudiar los servicios estándar de Internet, se muestra visualmente
su representación.
1
Figura 1. Interfaz socket.
Entre las aplicaciones (implementación del servicio) estándar de Internet se describen
algunas:
DNS (Domain Name Service)
El DNS es el servicio de nombres, definido en las RFC 1034 y 1035. Éste servicio
traduce nombres de host en direcciones IP’s y viceversa. El modelo cliente/servidor
para éste servicio es el siguiente:
El cliente construye y manda una petición al servidor y espera a que le conteste
el servidor. El cliente hace dos tipos de consultas recursiva e iterativa, es decir,
respectivamente el servidor espera por el puerto 53, cuando le llega la petición mira en
su base de datos y si no está lo busca en otro servidor DNS mandándole la
información que solicita. Si el cliente le pregunta al servidor si no lo sabe es el mismo
cliente el que va a preguntar a otro servidor DNS.
DHCP (Dinamic Host Configuration Protocol)
Su RFC es la 1541. Utiliza el protocolo UDP. Se dedica a configurar las estaciones de
red y darles una dirección IP de la siguiente manera:
 Asigna automáticamente direcciones IP permanentes a las distintas estaciones.
 Una asignación dinámica.
 Asignación manual por parte del administrador.
TELNET
Terminal remoto o Telnet se define en las RFC’s 854 y 855. Proporciona acceso a un
terminal de un sistema UNIX remoto, utiliza el puerto 23 y el protocolo TCP. El servidor
es de tipo TCP. El software de cliente TELNET suele permitir que el usuario
especifique el nombre de la máquina remota o ponga su IP
Las características de TELNET son:
 Sistema de autorización y autentificación (login y password).
2
 Negociación de parámetros de terminal, y de opciones de la transmisión.
 Define un formato estándar en la comunicación entre cliente y servidor (NVT,
Network Virtual Terminal) basado en códigos ASCII-7.
El modelo cliente/servidor es como sigue. El cliente envía al servidor lo que teclee el
usuario y mostrará en pantalla lo que mande el servidor. La información se transmite
en formato NVT, pero cuando llegue a la máquina se debe convertir este formato al
formato estándar de la máquina, es bueno pues permite la comunicación entre
distintas máquinas distintos sistemas operativos.
FTP
La RFC donde se define es la 959. Permite la transferencia entres dos máquinas de
forma fiable. Utiliza el puerto 21 y el protocolo TCP. Características de FTP:




Acceso interactivo: Conjunto de comandos ( cd, get, help, etc).
Transferencia binaria o ASCII.
Sistema de autentificación y autorización (user y password).
Utiliza el formato NVT para transmitir comandos, pero sin negociación de
opciones.
 El cliente espera en su dirección de puerto local a una petición de conexión
desde el puerto 20 del servidor.
En una sesión FTP, los mensajes de error y control entre el cliente y el servidor
comienzan con un número de tres dígitos seguido del texto.
El software del cliente interpreta el número y genera el texto para los usuarios.
Servicio de correo : SMTP, POP3
El servicio de correo permite el intercambio de mensajes, es decir, desde líneas de
texto hasta ficheros.
SMTP (Simple Mail Transfer Protocol) es el protocolo estándar de Internet utilizado en
la transferencia de correo electrónico, definido en la RFC 821. Cuando se envía un
correo el software cliente SMTP en el anfitrión local contacta con el servidor SMTP y
comienza el intercambio de información. Utiliza el protocolo TCP y el puerto bien
conocido 25.
POP3 es un protocolo utilizado por los lectores de correo electrónico (p.e Microsoft
Outlook, Eudora, ...) y se encarga de obtener el correo electrónico del buzón remoto y
almacenarlo en al máquina local del usuario para su posterior lectura. Se define por su
RFC 1125. Utiliza el protocolo TCP y el puerto bien conocido 110.
NNTP, BOOTP, SNMP, FINGER, X500
La descripción de los servicios es la siguiente:
NNTP: Protocolo estándar de Internet para la transferencia de noticias. Se define por
la RFC 977. Utiliza el protocolo TCP y el puerto 119.
3
BOOTP: Se utiliza en el arranque remoto de las estaciones sin disco. Se define según
la RFC 951. Suministra la dirección IP y el nombre del fichero donde se alberga la
imagen del sistema operativo a cargar.
SNMP: Permite la gestión y administración remota de los elementos de una red (host,
encaminadores, puentes, etc). Se define sobre la RFC 1157 y funciona sobre UDP.
FINGER: Ofrece información acerca de hosts, usuarios conectados. Se define en la
RFC 742 , el protocolo que utiliza es TCP en el puerto 79.
X500: Entorno gráfico que permite a una aplicación ejecutarse en un host y mostrar su
salida gráfica en pantalla de otro host. Se define sobre las RFC 1013 y 1198.
Otro servicio a incluir sería WWW, que se estudia a continuación.
2.1 El servicio más extendido en Internet es WWW
El servicio más extendido de Internet junto con el correo electrónico es el WWW. El
World Wide Web es un servicio que reúne dos técnicas, una la búsqueda de
información y la otra el hipertexto.
El hipertexto es una forma de organizar la información, de forma que algunas partes
del texto, denominadas enlaces, se encuentran resaltadas, permitiendo acceder al
pulsar sobre ellas a diferentes partes del documento o a otros documentos distintos,
independientemente de su localización.
Tras la idea de la creación del hipertexto surgió también la idea de hipermedia, la cual,
no hace posible acceder a otros documentos sino también a imágenes, animaciones,
vídeo, sonido, etc. Las características de WWW son las siguientes:
 Utiliza el lenguaje HTML para visualizar y crear las páginas web.
 El cliente web o browser (p.e Explorer, Nestcape, etc) permite el acceso a
servidores usando el protocolo HTTP, ftp, telnet, etc.
 El navegador obtiene la página que demanda bajo la URL (Uniform Resource
Locators), interpreta el texto y los comandos de formateo y muestra en pantalla
la página formateada.
El ejemplo siguiente de URL (Uniform Resource Locators) describirá la forma de
identificar un objeto o recurso en Internet:
HTTP://romana/specs/wd/cav43.HTML especifica:
La descripción de la URL es la siguiente:
 Para éste ejemplo HTTP es el protocolo que solicita de recurso un documento,
pero si en lugar de documentos se requieren otros recursos, se pueden usar
los protocolos que a continuación se exponen que identifican el recurso que
pueden solicitar:
4
o
o
o
o
o
o
o
Https: Petición segura de documentos mediante HTTP. Los documentos
y las peticiones se encriptan.
Ftp: Petición de ficheros utililizando el protocolo Ftp.
File: Acceso a fichero existente en la máquina local.
News: Acceso a artículos de grupos de noticias.
Mailto: Acceso al envío de correo electrónico a la dirección especificada
a continuación.
Telnet: Abre una sesión interactiva de telnet con el servidor.
Gopher: Acceso a documentos y directorios por el protocolo Gopher.
 Romana: máquina con la que se quiere comunica o servidor.
 Specs/wd: Directorio o ruta dentro de la máquina.
 Cav43.htm: Recurso que se solicita y su extensión (fichero).
2.2.1 HTTP como protocolo que soporta el servicio WWW
El origen del protocolo HTTP lo crea Tim Berners-Lee para WWW en 1991, siendo un
protocolo rápido y sencillo. Inicialmente se denominó HTTP 0.9. El protocolo completo
se definió en 1992 y se implementó en marzo de 1993.
Soporta los servicios de conexión TCP/IP. Un proceso servidor escucha por el puerto
de comunicaciones TCP (por defecto 80) y espera las solicitudes de clientes Web. Al
ser TCP una vez establecida la comunicación el TCP se encarga de mantener la
comunicación y garantizar que la transferencia de datos esté libre de errores ya que
utiliza el protocolo a tres bandas.
Antes se describía con un ejemplo la manera de hallar un recurso en Internet mediante
la URL, pero de manera general es la siguiente:
Servicio:/host:puerto/camino?parte_de_la_busqueda
Si es el servicio WWW el puerto entonces se asume que el puerto es el 80. Las
versiones que se tienen de HTTP son:
HTTP 1.0 Esta especificación define las características básicas del protocolo. Fue
desarrollado por Tim Berners-Lee, Roy T. Fielding, y Henrik Frystyk Nielsen. Se define
por la RFC 1945. No admite conexiones persistentes. Pide servicio le contesta el
servidor.
HTTP 1.1 Las especificaciones son muy similares a la anterior. Se define por la RFC
2068. Sus especificaciones vienen definidas en (W3C) el sitio Web: www.w3c.org.
Admite conexiones persistentes, se abre la conexión y posteriormente puede pedir la
URL. Permanecen conectados al servidor. Aparece el protocolo de manejo de cookies,
no se considera parte del protocolo HTTP 1.1, aunque es soportado por la mayoría de
clientes. Fue propuesto por Netscape y actualmente está en proceso de adaptarse
como un estándar de Internet, tal y como está especificado en la RFC 2109.Las
cookies son un mecanismo general mediante el que los programas en la parte del
servidor (CGIs, Servlets, etc.) pueden almacenar información en la parte del cliente de
la conexión. Es una forma de añadir estado a las conexiones HTTP.
5
HTTP-NG Next Generation of HTTP, propuesta por Simón Spero. Es un protocolo
binario con nuevas características para un acceso más rápido usando TCP. Este es el
último HTTP en la actualidad. Su especificación viene definida en el sitio Web:
www.w3c.org/Protocols/HTTP-NG.
La causa de la aparición del nuevo protocolo HTTP-NG es debida a que el protocolo
HTTP 1.1 causa retrasos en la red, por tanto, es un protocolo que se preocupa de que
las comunicaciones en Internet sean más eficientes. Según su especificación se hacen
nuevas peticiones sin haber finalizado la conexión establecida hasta el momento.
Extenderá el concepto de objeto permitiendo hacer más fácil la comunicación de
objetos distribuidos.
HTTP soporta dos tipos de mensajes, de solicitud haciendo las peticiones el cliente y
de respuesta que los manda el servidor, como se puede visualizar en la tabla
siguiente.
Los mensajes tienen la siguiente estructura organizada en líneas:
Mensaje de solicitud
1
Comando
HTTP
parámetros.
2
3
4
Mensaje de respuesta
Resultado
Resultado
de
la de
la
solicitud
operación
(código
numérico
que
permite
conocer el
éxito
o
fracaso de
la
operación).
(Una línea)
Cabeceras del Unas
Cabeceras Unas
requerimiento obligatorias y
de
la obligatorias
otras
respuesta
y
otras
opcionales
opcionales
En blanco
(Una línea)
En blanco. (Una línea)
Información
Información
opcional
opcional
Comando que
se solicita al
servidor HTTP
(Una línea)
Tabla 1. Formato mensajes de solicitud y respuesta en HTTP.
La separación entre líneas se realiza por el par CR-LF (Retorno Carro más línea
nueva). El final de las cabeceras por una línea en blanco, a continuación se incluirán
los datos.
Los comandos de HTTP son los que representan las diferentes operaciones que
pueden especificarse a un servidor HTTP, su formato es el siguiente:
Nombre del comando
Objeto sobre el que se aplica
Versión de HTTP utilizada
6
Así por ejemplo se tienen los siguientes comandos:
Para el estándar HTTP 1.0 se recogen comandos para el envío, chequeo de estado y
recepción de información siendo el comando GET el que recoge información del
servidor, HEAD que solicita información de un objeto (fichero) y POST que sirve para
enviar información al servidor.
Viendo un ejemplo ejemplo de solicitud de documento con el comando GET, con la
siguiente especificación “ GET <URL> [HTTP/versión] <CR LF> <CR LF> “ es el
siguiente [UATW01]:
GET /cernvm/FIND?sgml+cms HTTP/0.9
Indica que se solicita (es el comando GET) un recurso especificado en la URL y
versión 0.9 (la inicial de HTTP). Para la versión HTTP 1.1 recoge nuevos comandos
que son PUT que actualiza información de un objeto del servidor, DELETE que elimina
el documento especificado del servidor, LINK crea una relación entre documentos y
UNLINK que elimina la relación entre documentos.
Las cabeceras sirven tanto por parte del servidor o del cliente para proporcionar
información al otro extremo de la comunicación. Así por ejemplo por parte del cliente al
servidor le informa, por ejemplo, tipo de software que está ejecutando, contenidos que
entiende. Toda la información que le pasa el cliente la podría utilizar el servidor para
generar la respuesta. Entre la información que se pasan las cabeceras se refleja el
formato del mensaje a manejar, basado en MIME.
MIME (MultiPurpose Internet Mail Extensions) es un estándar oficial de Internet que
especifica cómo se deben formatear los mensajes para que puedan ser
intercambiados entre diferentes sistemas de correo electrónico. MIME es un formato
muy flexible, que permite incluir cualquier tipo de dato (text, audio, vídeo, imágenes,
datos de aplicaciones, etc.) en los mensajes de correo. Las RFC que lo definen son las
números 2045, 2046, 2047, 2048 y 2049 según la referencia. Algunos tipos MIME
comunes son:
1.
2.
3.
4.
5.
6.
Application/pdf: documento pdf.
Application/postScript: fichero postScript.
Application/vnd.ms-excel: fichero de hoja de cálculo Excel.
Audio/x-wav: fichero de sonido en formato Microsoft Windows.
Text/HTML: documento HTML.
Video/mpeg: película MPEG.
Cada vez que un cliente realiza una petición a un servidor, se ejecutan los siguientes
pasos:
1. Un usuario accede a una URL, seleccionando un enlace de un
documento HTML o introduciéndola directamente en el campo Location
del cliente Web.
2. El cliente Web descodifica la URL, separando sus diferentes partes.
Así identifica el protocolo de acceso, la dirección DNS o IP del servidor,
el posible puerto opcional (el valor por defecto es 80) y el objeto
requerido del servidor.
7
3. Se abre una conexión TCP/IP con el servidor, llamando al puerto TCP
correspondiente.
4. Se realiza la petición. Para ello, se envía el comando necesario (GET,
POST, HEAD,…), la dirección del objeto requerido (el contenido de la
URL que sigue a la dirección del servidor), la versión del protocolo
HTTP empleada (casi siempre HTTP/1.0) y un conjunto variable de
información, que incluye datos sobre las capacidades del browser,
datos opcionales para el servidor, …
5. El servidor devuelve la respuesta al cliente. Consiste en un código de
estado y el tipo de dato MIME de la información de retorno, seguido de
la propia información.
6. Se cierra la conexión TCP.
Este proceso se repite en cada acceso al servidor HTTP. Por ejemplo, si se recoge un
documento HTML en cuyo interior están insertadas cuatro imágenes, el proceso
anterior se repite cinco veces, una para el documento HTML y cuatro para las
imágenes.
2.2.2 HTML como lenguaje que soporta el servicio WWW
HTML expresa el formato visual de la página web, su idioma se basa en el
Generalizado Estándar para el Formato de Documentos ó SGML que en inglés
significa Standard Generalized Mark-up Language. siendo SGML un estándar
internacional. Los orígenes de SGML empiezan con el lenguaje que crea IBM GML
(General Makup Language) para poder almacenar la información que procesaban
sobre los años 70, después sería estandarizado en 1986 llamado SGML (la s inicial
surge de estándar). SGML permite definir lenguajes para dar formato a documentos
(mark-up languages). Así HTML es un lenguaje de formato de documentos definido de
acuerdo con SGML (o en otras palabras una aplicación de SGML) para dar formato a
documentos de hipertexto.
HTML es un lenguaje de descripción de páginas WWW que contiene etiquetas(tags) o
marcas que describen el contenido del documento pero no el formato de la página ni
su apariencia, la representación de la página dependerá del navegador, versión del
navegador y de los módulos de extensión instalados.
HTML describe cómo se visualizará por pantalla los elementos de texto: párrafos,
listas, tablas , etc. Algunas etiquetas apuntan a las imágenes que tienen enlaces a
otras páginas web.
Las etiquetas se delimitan con los signos “<” y “>”. Descripción de algunas etiquetas:
<HTML> ... </HTML> Declaran el inicio y fin de una página web escrita
en HTML
<HEAD> ... </HEAD> Delimitan la cabecera de la página
<TITLE> ... </TITLE> Define el título (que no se muestra en la página)
<BODY>... </BODY> Delimita el cuerpo de la página
<Hn>...</Hn> Encabezado de nivel n
<Bn>...</Bn> Pone ... en negrita
<In>...</In> Pone ... en itálica
<IMG SRC=”...”> Carga una imagen
8
<A HREF=”...”> ... </A> Define un hiperenlace
Las etiquetas tienen atributos que permiten delimitar su carácter y su aplicabilidad.
Si se combinan las etiquetas para formar un documento o página web sencilla su
forma sería la siguiente:
<HTML>
<head>
<title>Prueba</title>
</head>
<body>
Hola
</body>
</HTML>
La simplicidad de HTML es buena ya que cualquier navegador la entiende, pero los
documentos carecen de atractivo. En los siguientes apartados se verán las mejoras
que se están planteando y como se mejora HTML para que mejore el atractivo visual
de las páginas web. Un punto a favor de HTML sería su contenido, está estructurado
de manera lógica, puede ser representado de acuerdo con esa estructura por
cualquier navegador, según sus capacidades. Él mismo se encargará de escribir los
títulos con un tipo más grande que el de los párrafos, de poner el espacio entre
párrafos, de dibujar los marcadores de las listas, de dibujar las líneas entre las celdas
de una tabla, etc., sin que se tenga que preocuparse de esos aspectos.
HTML ha ido evolucionando controlado por W3C, siendo la última especificación de
HTML, HTML 4.01 de 1997, que declaró todos los elementos presentacionales como
desaprobados, es decir, en riesgo de ser declarados como obsoletos en próximas
especificaciones, de modo que los nuevos navegadores no se verían obligados a
soportarlos. En su lugar, deberían utilizarse hojas de estilo.
Puesto que el lenguaje HTML está limitado para darle forma al documento, se crean
soluciones de diseño como son la utilización de tablas como imagen transparente,
utilización de etiquetas que no son estándar, etc. Otro problema que da más razones
para utilizar las hojas de estilo era que se mezclaba en el código HTML el contenido
del documento con las etiquetas necesarias para dar forma al documento, haciendo
más difícil la detección de errores a la hora de depurar páginas.
Todo lo anterior da lugar a la creación de una nueva tecnología llamada hojas de estilo
en cascada ó CSS según la bibliografía.
Las características y ventajas que aporta CSS mediante una sintaxis especial
es dar forma a:
 Un sitio Web entero. Se declararía con un fichero externo. La extensión del
fichero podría ser cualquiera pero es mejor poner .css.
 Un documento HTML o página. Se utilizaría la etiqueta <STYLE> en la
cabecera de la página.
 Una parte del documento. Se utiliza la etiqueta <DIV>.
9
 Una etiqueta en concreto. Se utiliza el atributo style en la etiqueta en cuestión.
 En una porción pequeña del documento. Se utilizaría la etiqueta <SPAN>.
Viendo a continuación ejemplos para definir el estilo en una pequeña página, en toda
una página y en un sitio Web, se tendrá para:
Una pequeña parte de página
Usando la etiqueta <SPAN style=”color:valor”>XXX</SPAN>, daría como
resultado el texto XXX en color de valor.
Si se aplica <p style=”color:valor”>XXX></p> se aplica el color de valor a la
etiqueta p que sería el párrafo.
Si es con <div style=”color:valor”> XXX </div> se aplica a la sección de página
que comprenda.
Para toda la página
Usando la etiqueta style en la cabecera de la página, como se describe a continuación:
<HEAD>
<STYLE TYPE="text/css">
Reglas de estilo (explicadas a continuación)
</STYLE>
</HEAD>
Las reglas de estilo se definen con
SELECTOR { PROPIEDAD : VALOR}
SELECTOR: Hay tres tipos.

Tipo de elemento. En un declaración head del documento se formaría con:
p { color : valor }
En el documento se declararía normalmente <p> XXX </p>

Clase de atributo. En la declaración de una clase se formaría con:
p.clase { color: valor ; ...}
En el documento se declararía con <p class=”clase”> XXX </p>

Identificador de atributo. En la declaración el identificador se podría formar:
10
#descripcionid {color: valor; ...}
En el documento se declararía por ejemplo para la etiqueta h1 con
<h1 id=”descripcionid”> XXX </h1>
PROPIEDAD y VALOR: son las propiedades que se podría encontrar en cualquier
página Web que comente hojas de estilo, por ejemplo la referencia tiene los atributos y
valores que pueden tener.
Para todo un sitio Web
Se podría crear un fichero con extensión .css, pero que incluya sólamente
sintaxis CSS.
La forma de que la página Web que utiliza hojas de estilo sería la que incluyese
la etiqueta link en la cabecera de la página cuyos atributos son:
rel = “STYLESHEET” que indica que el enlace es a una hoja de estilos.
Type = “text/css” archivo de texto en sintaxis CSS.
Href = “estilos.css” nombre del fichero fuente de estilos.
Un sitio Web enlazaría con ese estilo declarando de alguna manera en sus
páginas el fichero .css, que podría ser la declaración:
<HEAD>
<STYLE TYPE="text/css">
< LINK REL=STYLESHEET TYPE="text/css" HREF=
“estilos.css”>
<TITLE>MiEstilo</TITLE>
</STYLE>
</HEAD>
Para finalizar, la tecnología CSS sólo es válida para navegadores de Nestcape
versiones de la 4 en adelante y de Microsoft a partir de la versión 3.
3 Evolución de HTML con las nuevas tecnologías.
HTML debe evolucionar ya que se está viendo que cada día llegan nuevas
tecnologías, por ejemplo, dispositivos portátiles, teléfonos móviles que hacen que el
lenguaje de la red deba transformarse.
Puesto que HTML presenta los siguientes problemas:






Sólo tiene un uso en páginas web.
Interpretación ambigua.
Su estructura es caótica.
Problemas de internacionalización.
No es fácilmente procesable por las máquinas.
Define más la presentación que el contenido.
XML es una respuesta a ésta necesidad . No significa que sea un nuevo lenguaje que
pueda sustituir a HTML como en principio se podría pensar. XML es un lenguaje
11
internacionalmente reconocido, es libre no pertenece a ninguna compañía, permitirá el
acceso tanto a personas con minusvalías como a elementos hardware (teléfonos
móviles, etc) .
El usuario no deberá crearse su lenguaje sino que se utilizará el lenguaje estándar que
se derive de XML y se pueda utilizar apropiadamente. Así si se quiere utilizar HTML
será una aplicación que se derive de XML.
Por ejemplo se tiene DocBook que es un lenguaje para el formato de libros
electrónicos. MathML es un lenguaje para el formato de ecuaciones matemáticas. En
DocBook hay un elemento para párrafos (<Para>). En MathML hay definidos
elementos útiles para las fórmulas matemáticas, como sumatorios (<sum>),
exponenciales (<exp>), etc., pero no hay un elemento para párrafos.
Esto permite crear lenguajes específicos para cada aplicación o para cada tecnología,
lo cual finalmente puede simplificar las cosas. Por ejemplo, los teléfonos móviles
tienen una capacidad de procesamiento mucho menor que la de los ordenadores
personales. Como el HTML es demasiado complicado para ellos, se desarrolló un
nuevo lenguaje simplificado llamado WAP específico para teléfonos móviles.
Desgraciadamente, WAP no es una aplicación de XML, aunque su lenguaje WML
nace de XML con tags más restringidas [VAN01]. En el futuro se espera que los
teléfonos móviles soporten XML, pero esto va a suponer esperar un tiempo de
adaptación que se podría haber evitado.
XML fue desarrollado a partir de 1996 como subconjunto de SGML, y fue adoptado
como estándar en febrero de 1998 por la Word Widet Web Consortion (W3C).
Resumiendo las tecnologías XML:
Especificación XML V 1.0. Se puede encontrar su especificación oficial
en HTTP://www.w3.org/TR/REC-xml.
Definición de documentos, contenidos: DTD o XML Schemas.
Definición de estilos, diseño XSL = XSLT + Xpath.
Enlazado de documento XLL = Xlink + Xpointer
Programación: SAX o DOM.
Aplicaciones RDF, SMIL, HTML, etc.
La descripción de la tecnologías que implementa XML se comentan a
continuación. En cuanto a la descripción del documento XML se escribe en ASCII, al
igual que HTML teniendo que poner en la cabecera <?xml versión=”1.0”>. El resto del
documento se escribe con etiquetas anidadas, las cuales pueden tener atributos con
sus respectivos valores. Los comentarios se escriben igual que HTML <!- Comentario ->.
Viendo como ejemplo:
<?xml versión=”1.0”>
<PELICULA nombre=”El Padrino”>
<PERSONAL>
</DIRECTOR nombre=”Georgie Lucar”>
</PERSONAL>
</PELÍCULA>
12
Como se observa en el ejemplo la etiqueta principal película tiene personal entre el
que destaca el director, estando las etiquetas anidadas.
En cuanto a la definición de documentos, se podrían escribir muchos lenguajes
escritos en XML para cualquier demanda de usuarios, por ejemplo si se demanda un
lenguaje para almacenar diagnóstico de pacientes se podría tener un lenguaje llamado
PacientesXML, si fuera para aplicaciones para móviles se podría utilizar un lenguaje
de aplicaciones inalámbricas (Wireless) que se llama WML. Podría crearse infinitos
lenguajes o sublenguajes ya que se derivan de XML se utilizan dos metalenguajes
siendo el DTD (Definition Type Document) con una sintaxis muy especial y el XML
Schema que es más fácil que el DTD.
Para la presentación del documento al igual que HTML define hojas de estilo, XML
define hojas de estilo pero en lugar de llamarse CSS se llaman XSL.
Xlink es una aplicación XML que intenta superar las limitaciones que tienen los
enlaces de hipertexto en HTML.
En cuanto a la manera de acceder a los documentos XML y la forma con la que se
debe trabajar con ellos, se dan unas normas con la manera de acceder a los
documentos, incluyen una jerarquía de objetos que tienen unos métodos y atributos
simplificando la manera de recorrer y acceder a la partes del documento. Los
mecanismos que se tienen son SAX y DOM. SAX se utiliza para hacer un recorrido
secuencial a los elementos del documento XML y DOM implica la creación de un árbol
en memoria que contienen el documento XML.
Anteriormente se ha comentado que HTML es una aplicación de XML, por tanto se
puede definir como tal, pero normalmente se suele encontrar con el nombre XHTML
1.0. El XHTML 1.0 es igual que HTML 4 (su especificación se puede encontrar en
HTTP://www.w3.org/TR/REC-HTML40 ) pero sigue las normas no de SGML sino de
XML siendo más estricta. Así por ejemplo si en HTML la etiqueta p no necesita la
etiqueta </p> en XML sí, también XHTML distingue mayúsculas de minúsculas, pero
en definitiva las capacidades son la mismas que HTML 4.
Se puede preguntar que ocurre con las páginas HTML existentes, y su respuesta sería
que no pasará nada. Los navegadores seguirán entendiendo HTML, pero como para
algunas aplicaciones conviene definirse subconjuntos de HTML es XHTML ( es
modular ) la que ofrece ésta característica, lo que hace que los navegadores tomen lo
que necesite, si por ejemplo, se tienen un módulo de imágenes el navegador tomará
ese módulo de imagen, si es un módulo de Script lo mismo, si es un módulo de
formularios igual, etc.
De momento hasta que no se creen editores XHTML no se implementará ésta
tecnología pero hay que estar al tanto ya que las cosas van muy rápidas. Su
especificación se encuentra en HTTP://www.w3c.org/TR/xHTML1/.
3 Conclusiones
Como se aprecia en el artículo, la Web 1.0 generó una serie de servicios que
actualmente son la base de la Web 2.0, sin olvidar el protocolo que dio lugar a ellos,
TCT/IP. Otro factor importante a la hora de utilizar estos servicios son lo socket,
13
puntos de enlace entre las aplicaciones y los diferentes sistemas operativos, que
permiten la comunicación entre diferentes máquinas.
Por último se tiene en cuenta la evolución que sufre HTML como lenguaje y su
evolución a XML.
Todo lo anterior da indicios de evolución para construir una Web 2.0, con
metaherramientas que facilitan la conocida sociedad del conocimiento que se está
produciendo hoy día.
Bibliografía
Tecnologías
Web,
(2010),
extraído
el
25
http://www.dccia.ua.es/dccia/inf/asignaturas/TW/teoria.html.
de
enero
desde
HTML
a
fondo,
(2010),
extraído
http://www.desarrolloweb.com/html/.
de
enero
desde
el
26
Pozo,Juan R. HTML, SGML, XHTML, XML. Extraido el
http://html.conclase.net/articulos/navegadores.
Reino, Alfredo. Introducción a XML,
http://www.ulpgc.es/otros/tutoriales/xml/.
(2010),
extraído
27 de enero desde
el
26
enero
desde
14
Descargar