INTERNET Índice 1 Introducción a Internet...................................................................................................... 2 1.1 Internet.............................................................................................................................................. 2 1.2 Orígenes de Internet..........................................................................................................................3 2 Protocolo TCP/IP (Transmisión Control Protocol / Internet Protocol) ................................. 4 2.1 Direcciones IP...................................................................................................................................4 2.2 Esquema de funcionamiento del protocolo TCP/IP..........................................................................5 2.3 Herramientras TCP/IP.......................................................................................................................6 2.4 Sistema de Nombres de Dominio (DNS)..........................................................................................6 3 Servidores y clientes......................................................................................................... 8 4 Servicios de Internet más usados..................................................................................... 8 4.1 Correo electrónico (email)............................................................................................................... 8 4.2 Conversación (chat).......................................................................................................................... 8 4.3 World Wide Web (web)....................................................................................................................9 4.4 Transferencia de archivos FTP:........................................................................................................ 9 5 Intranets y extranets....................................................................................................... 10 6 El World Wide Web.......................................................................................................... 11 6.1 Lenguaje del World Wide Web...................................................................................................... 11 6.2 Hipervínculos .................................................................................................................................11 6.3 Localizador Uniforme de Recursos URL.......................................................................................12 6.4 Direcciones URL absolutas y relativas........................................................................................... 13 7 Tecnologías y conceptos sobre Internet y la web........................................................... 14 7.1 Técnologías que se ejecutan en el cliente ...................................................................................... 14 7.1.1 CSS (Hojas de estilo en cascada).............................................................................................14 7.1.2 JavaScript.................................................................................................................................14 7.1.3 HTML dinámico (DHTML).....................................................................................................14 7.1.4 VBScript. ................................................................................................................................ 14 7.1.5 Applets en Java........................................................................................................................ 14 7.1.6 Cookies.................................................................................................................................... 15 7.2 Tecnologías que se ejecutan en el servidor.....................................................................................16 7.2.1 CGI (Common Gateway Interface)..........................................................................................16 7.2.2 PHP.......................................................................................................................................... 16 7.2.3 ASP (Active Server Pages)...................................................................................................... 17 7.3 Otras tecnologías.............................................................................................................................18 7.3.1 Secure Sockets Layer (SSL).................................................................................................... 18 7.3.1 XML.........................................................................................................................................18 7.3.2 JAVA....................................................................................................................................... 18 1 Introducción a Internet 1.1 Internet Internet es una red global formada por muchos sistemas informáticos distintos que se comunican mediante un lenguaje Común. Es similar a la red telefónica internacional: nadie posee ni controla la totalidad del sistema, pero está conectada de tal manera que funciona como una gran red. Nodo Servidor Host INTERNET Para poder conectar nuestro ordenador a Internet necesitaremos un periférico de entrada / Salida como un modem o un ruter conectado a la línea telefónica, red de cable de fibra óptica, red eléctrica, red inalámbrica, etc. y un Proveedor de Servicio de Internet (ISP) que nos dará acceso a Internet y del cual obtendremos los siguientes datos: Dirección IP local para nuestro ordenador Dirección IP del Enrutador que nos da salida a Internet Dirección IP de un Servidor DNS para poder trabajar con nombres de dominio en lugar de direcciones IP 2 1.2 Orígenes de Internet Internet surgió como un proyecto de investigación en redes dentro de un ámbito militar. A finales de los años sesenta (1969), en plena guerra fría, el Departamento de Defensa Americano llegó a la conclusión de que su sistema de comunicaciones era demasiado vulnerable. Estaba basado en la comunicación telefónica (Red Telefónica Conmutada, RTC), y por tanto, en una tecnología denominada de conmutación de circuitos, (un circuito es una conexión entre llamante y llamado), que establece enlaces únicos y en número limitado entre importantes nodos o centrales, con el consiguiente riesgo de quedar aislado parte del país en caso de un ataque militar sobre esas arterias de comunicación. Como alternativa, el citado Departamento de Defensa, a través de su Agencia de Proyectos de Investigación Avanzados (Advanced Research Projects Agency, ARPA) decidió estimular las redes de ordenadores mediante becas y ayudas a departamentos de informática de numerosas universidades y algunas empresas privadas. Esta investigación condujo a una red experimental de cuatro nodos, que arrancó en Diciembre de 1969, se denominó ARPAnet. La idea central de esta red era conseguir que la información llegara a su destino aunque parte de la red estuviera destruida. ARPA desarrolló una nueva tecnología denominada conmutación de paquetes, cuya principal característica reside en fragmentar la información, dividirla en porciones de una determinada longitud a las que se llama paquetes. Cada paquete lleva asociada una cabecera con datos referentes al destino, origen, códigos de comprobación, etc. Así, el paquete contiene información suficiente como para que se le vaya encaminando hacia su destino en los distintos nodos que atraviese. El camino a seguir, sin embargo, no está preestablecido, de forma que si una parte de la red cae o es destruida, el flujo de paquetes será automáticamente encaminado por nodos alternativos. Internet se diseñó para interconectar los distintos tipos de redes y para permitir que la información circulara libremente entre los usuarios, independientemente de las estaciones de trabajo, los sistemas operativos o las redes que utilizaran. Esto se consiguió gracias a la introducción de equipos especiales, denominados enrutadores, para conectar redes LAN y WAN de distintos tipos. La red conectada también necesitaba un protocolo común; es decir, un conjunto compartido de reglas y estándares que especificara cómo se iban a transmitir los datos. Este nuevo protocolo se llamó TCP/IP. 3 2 Protocolo TCP/IP (Transmisión Control Protocol / Internet Protocol) Se conoce por TCP/IP a la familia de protocolos que hacen posible la interconexión y el control del tráfico de red (enrutamiento) en redes como Internet. Una red de ordenadores tan grande como Internet se basa en una idea conceptualmente sencilla: dividir la información en trozos o paquetes, que viajan de manera independiente hasta su destino, donde conforme van llegando se ensamblan de nuevo para dar lugar al contenido original. TCP controla la división de los mensajes de datos en paquetes para su envío a través de IP, así como el Posterior reensamblaje y comprobación de los mensajes completos a partir de los paquetes recibidos por IP. TCP también pide el reenvío al equipo de destino de los paquetes perdidos o dañados. IP se encarga de enrutar los paquetes desde el remitente hasta el equipo y la red de destino 2.1 Direcciones IP A cada equipo conectado a Internet se le asigna una dirección de Protocolo de Internet (dirección IP) exclusiva. Se trata de un número binario de 32 bits (divididos en 4 bloques de 8 bits representados por 4 números que pueden tomar los valores del 0 al 255, y separados por puntos) que identifica de manera inequívoca un equipo conectado a Internet. Por ejemplo la dirección IP de IBM es: 129.42.18.99. Cada paquete de datos que se transfiere a través de Internet contiene la dirección IP del equipo de origen y la del equipo de destino. Dos ordenadores pertenecen a la misma red si en su dirección IP solo varia el último número 4 2.2 Esquema de funcionamiento del protocolo TCP/IP Resulta curioso comprobar cómo el funcionamiento de una red de ordenadores tan grande como internet se basa en una idea conceptualmente sencilla: dividir la información en trozos o paquetes, que viajan de manera independiente hasta su destino, donde conforme van llegando se ensamblan de nuevo para dar lugar al contenido original. Estas funciones las realizan los protocolos TCP/IP: el Transmission Control Protocol se encarga de fragmentar y unir los paquetes y el Internet Protocol tiene como misión hacer llegar los fragmentos de información a su destino correcto. ORDENADOR ORIGEN DEL MENSAJE El protocolo TCP fragmenta la información en paquetes a los que añade una cabecera con la suma de comprobación. Esta suma sirve para averiguar en el punto de destino si se ha producido alguna pérdida de información. El protocolo IP “ensobra” los paquetes y les añade entre otros datos la dirección de destino y la del remitente . A medida que se ensobran, los paquetes son enviados mediante routers, que deciden en cada momento cuál es el camino más adecuado para llegar a su destino. Dado que la carga de internet varía constantemente, los paquetes pueden ser enviados por distintas rutas, llegando en ese caso desordenados. ORDENADOR DESTINO DEL MENSAJE El protocolo TCP comprueba que los paquetes hayan llegado intactos y procede a montar de nuevo el mensaje original. 5 2.3 Herramientras TCP/IP ping Ping es una herramienta de diagnóstico de redes TCP/IP, que ofrece información útil sobre la presencia en red de otro ordenador, y sobre el rendimiento de la conexión; de modo similar al sonar de un submarino (de ahí su nombre) envía una señal a un ordenador en red y escucha el eco. su uso es: ping dirección_ip o bien ping nombre_de_dominio ipconfig / ifconfig ipconfig sin parámetros te indica el nombre del adaptador de red en uso, la ip del equipo, la máscara de subred y la ip del gateway. ipconfig /all te da información mas completa indicando nombre del equipo, direccion MAC, configuracion WINS, dns etc. Con ipconfig /renew cada adaptador del equipo solicita una nueva IP al servidor DHCP (si activado). 2.4 Sistema de Nombres de Dominio (DNS) El servicio de DNS es el que le permite a la computadora traducir los nombres de dominio a direcciones IP, ese valor de cuatro números que sirve para identificar a una computadora en una red, y por lo tanto también en Internet. Generalmente, es el proveedor de Internet quien provee los servidores DNS, como así también en las redes suelen contar con servidores propios. Para solventar el problema de recordar las direcciones IP se ideó un sistema de nombres que asocia las direcciones IP a “Nombres”. Estas direcciones en formato nemotécnico sólo necesitaban un mecanismo para asociarlas a la dirección IP correspondiente. (Ejemplo: El nombre es.wikipedia.org se corresponde a la dirección 91.198.174.2). El DNS se utiliza para distintos propósitos. Los más comunes son: 6 • Resolución de nombres: Dado el nombre completo de un host (por ejemplo blog.smaldone.com.ar), obtener su dirección IP (en este caso, 208.97.175.41). • Resolución inversa de direcciones: Es el mecanismo inverso al anterior. Consiste en, dada una dirección IP, obtener el nombre asociado a la misma. • Resolución de servidores de correo: Dado un nombre de dominio (por ejemplo gmail.com) obtener el servidor a través del cual debe realizarse la entrega del correo electrónico (en este caso, gmail-smtp-in.l.google.com). El espacio de nombres de dominio DNS, como se muestra en la ilustración siguiente, se basa en el concepto de un árbol de dominios con nombre. Cada nivel del árbol puede representar una rama o una hoja del árbol. 7 3 Servidores y clientes Las estaciones de trabajo que se conectan a Internet pueden ser servidores o clientes. Un servidor es un equipo o programa informático que ofrece un servicio a otros equipos de la red respondiendo a los comandos enviados por un equipo cliente. Por ejemplo, un servidor de archivos puede contener un conjunto de archivos de datos. Cuando un cliente pide un archivo, el servidor transfiere una copia de dicho archivo al equipo cliente. Los servidores de Internet ofrecen datos de varios tipos, como texto, imágenes, sonidos, películas, etc., Algunos servidores, denominados servidores Web, alojan sitios Web, escaparates electrónicos y bases de datos. Un cliente es un equipo o programa informático que pide y tiene acceso a recursos o servicios compartidos de la red desde un equipo servidor. El cliente y el servidor utilizan un método común para comunicarse y transferir datos de un equipo a otro. Servidor Servidor de Páginas Web Cliente Red DHCP (IIS, Apache ) Servidor de Correo 4 Otros Server Navegador (Internet Explorer, Netscape, etc) Cliente FTP (WS_FTP) Cliente de Correo TCP/IP (Ej: Outlook Express, Mozilla, etc) Servicios de Internet más usados 4.1 Correo electrónico (email) Se trata probablemente del servicio de Internet más utilizado y viene a ser el sistema postal de la red. Permite intercambiar mensajes de texto y archivos informáticos con cualquier usuario de Internet que disponga de una dirección de correo electrónico. Subprotocolos TCP/IP: SMTP (Simple Mail Transfer Protocol) Para enviar; POP (Post Office Protocol) para recibir. 4.2 Conversación (chat) Servicio de Internet que permite que dos o más personas conectadas a Internet al mismo tiempo puedan mantener una conversación en tiempo real mediante el envío y la recepción de mensajes de texto instantáneos. Subprotocolos TCP/IP: IRC (Internet Relay Chat). 8 4.3 World Wide Web (web) Servicio de Internet. Se trata de un conjunto de documentos y archivos de hipertexto interconectados que residen en servidores Web de todo el mundo. Los documentos del World Wide Web se denominan páginas, que están escritas en el Lenguaje de Marcado de HiperTexto (HTML). Subprotocolos TCP/IP: HTTP (Hipertext Transfer Protocol). 4.4 Transferencia de archivos FTP: Es un servicio de Internet que permite a los usuarios transferir archivos de un equipo a otro. Subprotocolos TCP/IP: FTP (File Transfer Protocol). 9 5 Intranets y extranets Una intranet es una red informática diseñada para acceso exclusivo dentro de una empresa u organización. El término intranet se deriva del hecho de que este tipo de red se basa en la tecnología de Internet y utiliza aplicaciones como correo electrónico, exploradores dé Web, servidores FTP y grupos de noticias, a los que únicamente se puede tener acceso desde dentro de la organización. Una intranet puede configurarse dentro de un servidor de seguridad o Firewall, un mecanismo de seguridad por software que bloquea el acceso no autorizado a la intranet desde el exterior. Por el contrario, una extranet es una extensión de la intranet de la organización que utiliza tecnología de World Wide Web para permitir que los proveedores y los clientes de una empresa u organización compartan información y se comuniquen entre sí. Se puede configurar una extranet para permitir el acceso limitado a recursos de la organización presentes en su intranet. La ventaja principal de una extranet es la mayor eficiencia que proporciona a relaciones empresariales importantes. Por ejemplo, una compañía puede permitir que sus socios comerciales tengan acceso mediante contraseña a la información de la compañía almacenada en páginas Web, bases de datos y otros recursos compartidos de la red. 10 6 El World Wide Web El World Wide Web brinda una sencilla interfaz a través de un programa explorador que permite “navegar” por la abundante y diversa información que ofrece Internet. 6.1 Lenguaje del World Wide Web El lenguaje que utiliza el World Wide Web se denomina Lenguaje de Marcado de HiperTexto (HTML) . Utiliza etiquetas que facilitan información acerca del formato y la apariencia de elementos como texto, gráficos y animaciones. Los programas llamados exploradores de Web pueden interpretar las etiquetas HTML y mostrar el documento con formato en la pantalla. Los documentos HTML que muestra un explorador de Web se denominan páginas web. Estas páginas las guardaremos en formato tipo texto y con la extensión .htm. Por ejemplo el fichero Prueba.htm podría ser: <HTML> <HEAD> <TITLE> Título de la página </TITLE> </HEAD> <BODY> <H1> Texto escrito en tamaño Título 1 </H1> </BODY> </HTML> 6.2 Hipervínculos Mediante hipertexto puede vincular entre sí múltiples páginas, y por tanto, sitios Web completos. En un explorador de Web, las etiquetas de hipertexto se muestran como hipervínculos, palabras o zonas activas con formato especial que aparecen en la pantalla en las que el visitante del sitio puede hacer clic pata pasar a otra página, ver una imagen, visitar otro sitio o descargar software. 11 6.3 Localizador Uniforme de Recursos URL URL es el acrónimo de (Uniform Resource Locator), localizador uniforme de recursos y permite localizar o acceder de forma sencilla, cualquier recurso de la red desde un navegador. Nos referimos a “recurso”, pues un vínculo no necesariamente será a otra página, aunque sea lo habitual. Estos recursos pueden ser, imágenes, archivos de sonido, videos, etc. Protocolo Ubicación de red Ruta Nombre de archivo Marcador de posición http://www.yahoo.es/productos/suproducto.htm/#información 1. Protocolo, que indica al explorador Web qué servicio de Internet procesará el archivo. El protocolo está separado del resto de la dirección URL por un signo de dos puntos. Estos son algunos de los protocolos: • ftp Indica que el archivo se encuentra en un servidor de Protocolo de transferencia de archivos (FTP). Los servidores FTP permiten transferir archivos a través de Internet • mailto Correo electrónico. Cuando el visitante del sitio hace clic en una dirección URL mailto desde un explorador de Web, se abre un formulario de correo dirigido a la persona especificada. Un ejemplo de dirección URL mailto es: mailto:alguien@microsoft.com • file Indica un archivo almacenado en una estación de trabajo o en un host de una red. El nombre de protocolo va seguido de la ruta de acceso al equipo y del nombre del archivo que debe mostrar o cargar el explorador de Web. file://ejemplo.host/archivo.doc: Indica que el archivo está en el equipo ejemplo.host. file:///dir/archivo.doc: Indica que el archivo está almacenado en una carpeta llamada Dir, ubicada en el mismo equipo que el explorador de Web. • http Indica que el archivo se encuentra en un servidor de Protocolo de transferencia de hipertexto (HTTP) o servidor Web. 2. Ubicación de red, un nombre exclusivo que identifica el servidor de Internet o Web. Una ubicación de red consta de dos o más partes, separadas por puntos 3. Ruta. Este componente identifica las carpetas o subdirectorios que contienen la página o el archivo. 4. Nombre de archivo. Si no hay ningún nombre específico de archivo, el explorador de Web buscará una página predeterminada, generalmente llamada Default. o Index.htm. 5. Marcador de posición. Un marcador de posición, también llamado ancla, es una ubicación específica de una página que puede ser el destino de un hipervínculo. 12 6.4 Direcciones URL absolutas y relativas • Una dirección URL absoluta es la dirección completa de Internet de una página o un archivo, incluido el protocolo, la ubicación de red, y la ruta y el nombre de archivo opcionales. Ejemplo: http://www.microsoft.com/news.htm es una dirección URL absoluta. • Una dirección URL relativa es una referencia a una página o un archivo con una o más partes no especificadas. Los exploradores de Web toman la información que falta de la página que contiene la dirección URL. Por ejemplo, si falta el protocolo o la ubicación de red, el explorador de Web utiliza el protocolo o la ubicación de red de la página actual. Las URL relativas están relacionados con la carpeta que contiene el documento de origen. En estos ejemplos se muestra la sintaxis de navegación de URL relativas. . .. / representa la carpeta actual representa la carpeta padre de la actual Seperador de carpetas Estamos en Dir1 y queremos hacer referencia a Fichero1: Fichero1 o Bien ./Fichero1 Estamos en Root y queremos hacer referencia a Fichero1: Dir1/Fichero1 o Bien ./Dir1/Fichero1 Estamos en Dir3 y queremos hacer referencia a Fichero1: ../../Fichero1 o Bien ./../../Fichero1 Estamos en Dir3 y queremos hacer referencia a Fichero6: ../../dir5/dir6/Fichero6 o Bien ./../../Dir5/dir6/Fichero6 13 7 Tecnologías y conceptos sobre Internet y la web 7.1 Técnologías que se ejecutan en el cliente 7.1.1 CSS (Hojas de estilo en cascada) Especificación HTML desarrollada por el World Wide Web Consortium que permite a los autores de páginas Web adjuntar hojas de estilos a los documentos HTML, es decir, que permite separar el contenido de las páginas de su estilo. Las hojas de estilos pueden incluir información tipográfica acerca de la apariencia de la página, como la fuente del texto, sangría, alineación, espaciado, colores y otras propiedades de las páginas. 7.1.2 JavaScript Con JavaScript es posible agregar a las páginas Web aplicaciones y funciones básicas en línea. El código JavaScript, que se incluye en una página Web junto con el código HTML. Para interpretar el código JavaScript se requiere un explorador compatiple con JavaScript (Internet Explorer, Netscape Navegator, etc.) que tienen incorporado el intérprete. Veamos un ejemplo de una página HTML (prueba1.htm) con código JavaScript: <html> <head> </head> <body> <center> <SCRIPT LANGUAGE = "JavaScript" > alert("Hola"); </SCRIPT> </Center> </BODY> </HTML> 7.1.3 HTML dinámico (DHTML) Extensión del lenguaje HTML que permite agregar efectos de presentación al texto y a los objetos. En realidad el HTML dinámico en una conjunción de HTML, CSS y JavaScript. 7.1.4 VBScript. Subconjunto del lenguaje de programación Visual Basic para Aplicaciones, optimizado para la programación relacionada con Web. Al igual que JavaScript, el código de VBScript está incrustado en los documentos HTML. 7.1.5 Applets en Java 14 Un applet es un programa escrito en Java. Está almacenado en el servidor (en un código intermedio byte-code) y se transmite al cliente (navegador) por medio de Internet. Los clientes ejecutan este código por medio de un intérprete Java que normalmente incluye el navegador. 7.1.6 Cookies Las cookies son pequeños archivos de texto que un Servidor Web ordena al navegador del cliente que los grabe o lea en su propio disco duro. Las cookies constituyen una potente herramienta empleada por los servidores Web para almacenar y recuperar información acerca de sus visitantes, y proporcionan una manera de conservar información entre peticiones del cliente. Las cookies son utilizadas habitualmente por los servidores web para diferenciar usuarios y para actuar de diferente forma dependiendo de éstos. Las cookies se inventaron para ser utilizadas en una cesta de la compra virtual. Otros sitios web utilizan las cookies para personalizar su aspecto según las preferencias del usuario. Los sitios que requieren identificación a menudo ofrecen esta característica, aunque también está presente en otros que no la requieren. La personalización incluye tanto presentación como funcionalidad. Por ejemplo, las páginas de Wikipedia permiten a los usuarios identificados elegir un estilo de presentación a su gusto; el motor de búsqueda de Google permite a los usuarios (incluso a los no registrados) decidir cuántos resultados de búsqueda quieren ver en cada página. Las Cookies se utilizan también para realizar seguimientos de usuarios a lo largo de un sitio web. En realidad, las cookies son sólo datos, no código, luego no pueden borrar ni leer información del ordenador de los usuarios.6 Sin embargo, las cookies permiten detectar las páginas visitadas por un usuario en un sitio determinado o conjunto de sitios. Esta información puede ser recopilada en un perfil de usuario. Estos perfiles son habitualmente anónimos, es decir, no contienen información personal del usuario (nombre, dirección, etc). De hecho, no pueden contenerla a menos que el propio usuario la haya comunicado a alguno de los sitios visitados. Pero aunque anónimos, estos perfiles han sido objeto de algunas preocupaciones relativas a la privacidad. 15 7.2 Tecnologías que se ejecutan en el servidor 7.2.1 CGI (Common Gateway Interface) Interfaz de entrada común (en inglés Common Gateway Interface, abreviado CGI) es una importante tecnología de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para transferir datos entre el cliente y el servidor web. Las aplicaciones CGI fueron una de las primeras prácticas de crear contenido dinámico para las páginas web. En una aplicación CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguajes de script. La salida de dicho programa es enviada al cliente en lugar del archivo estático tradicional. Un programa CGI se puede escribir en cualquier lenguaje que permita ser ejecutado en el sistema, como: C/C++, PERL, Visual Basic, AppleScript, Shell de Uníx, etc. 7.2.2 PHP PHP es un lenguaje de programación interpretado o framework para HTML, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting). PHP es una tecnología dinámica funcionando del lado del servidor, embebido en páginas html, y además es multiplataforma e independiente del navegador. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante dominio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. El sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. <html> <head> 16 <title> Ejemplo basico PHP</title> </head> <body> <?php echo 'Hola mundo'; ?> </body> </html> 7.2.3 ASP (Active Server Pages). El ASP es una tecnología dinámica funcionando del lado del servidor, embebido en páginas html no es multiplataforma ya que solo funciona para servidores web de Microsoft A continuación tenemos un ejemplo del código ASP en el servidor y los resultados HTML que serán vistos en el navegador: <html> <body> <% Response.Write ("Hola Mundo") %> </body> </html> 17 7.3 Otras tecnologías 7.3.1 Secure Sockets Layer (SSL) Es un protocolo que nos permite transmitir información de una manera segura. La finalidad de SSL es permitir transacciones financieras electrónicas seguras en el World Wide Web, aunque está diseñado para trabajar también con otros servicios de Internet. Esta tecnología, que utiliza cifrado por clave pública, está presente en muchos servidores y exploradores Web. 7.3.1 XML La idea que subyace bajo el XML es la de crear un lenguaje muy general que sirva para muchas cosas. El HTML está diseñado para presentar información directamente a los humanos, y esto sin duda es algo bueno, pero es un lenguaje complicado de procesar para los programas informáticos. El HTML no es bueno porque no indica lo que está representando, se preocupa principalmente de que eso tiene que ir en azul, o con un tipo de letra determinada, pero no te dice que lo que está mostrando es el título de un libro o el precio de un artículo. El XML hace precisamente esto: describe el contenido de lo que etiqueta. La diferencia es clara en el siguiente ejemplo donde podemos observar como Amazón presenta en su Web información sobre los libros. <?xml version="1.0"?> <libro> <titulo>Xml: Extensible Markup Language</titulo> <disponible tiempo="24" unidad="hours"/> <autor>Elliotte Rusty Harold</autor> <formato>Paperback</formato> <publicacion>1998</publicacion> <precio cantidad="31.99" moneda="dolar"/> <descuento cantidad="20"/> <enlacelibro href="/exec/obidos/ASIN/0764531999/qid=919015337"/> </libro> 7.3.2 JAVA Java es un lenguaje de programación de alto nivel orientado a objetos. El lenguaje en sí mismo toma mucha de su sintaxis de C, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible. La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde 18 entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process. Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre. Las características principales que nos ofrece Java son: • • • • • • • • • Orientado a Objetos Distribuido Robusto Seguro Indiferente a la arquitectura Portable Interpretado y compilado a la vez Multihebra o Multihilos Produce Applets 19