sábado, 3 de septiembre de 2011

UNIDAD 1 Introducción a las tecnologías



Es la red de redes. Sistema mundial de redes de computadoras interconectadas. Fue concebida a fines de la década de 1960 por el Departamento de Defensa de los Estados Unidos; más precisamente, por la ARPA. Se la llamó primero ARP Anet y fue pensada para cumplir funciones de investigación. Su uso se popularizó a partir de la creación de la World Wide Web. Actualmente es un espacio público utilizado por millones de personas en todo el mundo como herramienta de comunicación e información.

1.2 Protocolo http

El protocolo de transferencia de hipertexto, es un sencillo protocolo cliente-servidor que articula los intercambio de información entre los clientes web y los servidores HTTP. Fue propuesto por Tim Berners-Lee, atendiendo a las necesidades de un sistema global de distribución de información como el world wide web.

HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente establece una conexión con un servidor y envía un mensaje con los datos de la solicitud. El servidor responde con un mensaje similar, que contiene el estado de la operación y su posible resultado. Todas las operaciones pueden adjuntar un objeto o recurso sobre el que actúan; cada objeto web, es conocido por su URL.


HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. A la información transmitida se la llama recurso y se la identifica mediante un URL.

1.2.1 Arquitectura de la WWW

La arquitectura de la www se puede ver desde 2 puntos de vista física y lógica.

Dentro de la arquitectura física podemos mencionar los diferentes tipos

de redes:

*Computadoras personales

*Redes de área local.

*Redes de área global.

Las formas de conexión pueden ser:

*Línea telefónica

*RDSI (Red Digital de Servicios Integrados)

*ADSL (Asymmetric Digital Subscriber Line)

*Cable

*Satelite


Arquitectura lógica de internet. Normalmente en internet se usa la arquitectura cliente-servidor. Este tipo de organización se basa en que: entre todas las computadoras que están en red, unos ofrecen servicios y otros usan esos servicios. Cuando el cliente está viendo estas páginas, esta accediendo a un servidor que les ofrece el servidor de pagina WEB. Los sistemas cliente-servidor están construidos de tal modo que la base de datos puede resistir en el servidor y ser compartida entre todos los usuarios. La arquitectura de internet a nivel lógico está estructurado por lo que se conoce como capas de servicio.

Modelo OSI de 7 capas.

1.-Capa física

2.-Capa de datos

3.-Capa de red

4.-Capa de transporte


5.-Capa de sesión

6.-Capa de presentación

7.-Capa de aplicación


1.2.2 URLS

En la web existe un sinnúmero de objetos, a los que se puede acceder mediante una variable de protocolo. Para poder abstraer la idea de “objeto genérico”, se necesita disponer de conceptos que den sentido a nombres y direcciones en la Web. Un identificador universal de recursos (URL) es un miembro de este conjunto universal de nombres, un localizado uniforme de recursos (URL), es básicamente un caso particular de URL que expresa una dirección, mapeada a un algoritmo de recuperación del objeto que usa protocolos de comunicación a través de la red. Por último URL es algo que aun está en debate y que pretende definir un espacio de nombres para etiquetar objetos persistentes. Un recurso es cualquier cosa distinguible. Por ejemplo, un documento electrónico, una imagen, un servidor, etc.

De todas las ideas desarrolladas en este aspecto, aparece una característica común mapeable a la idea de un “objeto” y su correspondiente nombre/etiqueta/identificador. De esta manera se puede definir un conjunto de espacios de nombres en los que se dice que existen los objetos.

URI: Identificadores Universales de Recursos. Corresponden a una forma de encapsular un nombre en un espacio de nombres registrados, y etiquetarlo con el espacio de nombres, produciendo un miembro del conjunto universal. La sintaxis universal permite el acceso a objetos disponibles utilizando protocolos existentes, y es capaz de ser extendida con el tiempo.

1.2.3 Métodos http perspectiva en http cookies

Los métodos que utiliza el protocolo http son los siguientes:

1. GET: se utiliza para recuperar el contenido de un recurso estático (página HTML, imágen, vídeo, etc), o bien ejecutar un programa o script en el servidor (como programas CGI, páginas ASP, JSP, PHP, etc.). Es la operación más común, que se lanza cada vez que pulsamos en un enlace y navegamos a una página web.

2. HEAD: es una operación especial que tan sólo nos recupera información del recurso, como el tamaño, la fecha de modificación, tipo, etc. Lo suelen utilizar los navegadores o servidores para comprobar el estado de su caché u otras operaciones.

3. POST: envía información desde el cliente al servidor web, como pueden ser los datos de un formulario.

4. PUT: almacena recursos en el servidor.

5. DELETE: borra recursos del servidor.

Uno de los problemas clásicos en el desarrollo de web sites y aplicaciones web es la perdida de persistencia cuando el usuario pasa de una página a otra. Debido a las características de diseño del protocolo HTTP que fuerza una nueva conexión y desconexión por cada request no es posible saber quien está accediendo a que página o en qué lugar esta cada usuario del sitio. Mantener persistencia a lo largo de la navegación del sitio ha sido uno de los temas más complejos e importantes en el desarrollo de aplicaciones web. Uno de los mecanismos más usados para mantener persistencia es el mecanismo de cookies, inventado por Netscape y hoy en día aceptado por casi todos los browsers, en especial los más populares. El concepto es que mediante un header del protocolo HTTP el server pueda almacenar información en el cliente. A esta información que el server guarda en el cliente se la denomina “cookie”. Las cookies pueden habilitarse o deshabilitarse desde el browser por lo que algunos usuarios no lo soportan, son de uso bastante general en muchos sitios web a punto tal que en algunos sitios si el usuario no tiene habilitadas las cookies prácticamente no puede utilizar la mayoría de los servicios del sitio. Cuando el server envía un header con un cookie el browser, si acepta cookies, guarda la información enviada en un archivo de texto con un formato especial. Cada vez que el browser solicita una página del dominio que envió la cookie reenvía la cookie al sitio, de esta forma es posible mantener persistencia. La información que puede guardarse en una cookie esta limitada por lo que habitualmente se utiliza la misma para mantener el identificador de sesión del usuario almacenándose el resto de los datos necesarios en el servidor usando la sesión id de la cookie como clave.

1.3 Introducción al HTML lenguaje de despliegue

HTML (HipertText Markup Language) es el lenguaje con el que se escriben las páginas web. Las páginas web pueden ser vistas por el usuario mediante un tipo de aplicación llamada navegador. Podemos decir por lo tanto que el HTML es el lenguaje usado por los navegadores para mostrar las páginas web al usuario, siendo hoy en día la interfaz más extendida en la red.

Este lenguaje nos permite aglutinar textos, sonidos e imágenes y combinarlos a nuestro gusto. Además, y es aquí donde reside su ventaja con respecto a libros o revistas, el HTML nos permite la introducción de referencias a otras páginas por medio de los enlaces hipertexto.

1.4 Evolución desarrollo de aplicaciones Web

En un principio la web era sencillamente una colección de páginas estáticas, documentos, etc., para su consulta o descarga. El paso inmediatamente posterior en su evolución fue la inclusión de un método para elaborar páginas dinámicas que permitieran que lo mostrado tuviese carácter dinámico (es decir, generado a partir de los datos de la petición). Este método fue conocido como CGI ("Common Gateway Interface") y definía un mecanismo mediante el que se podía pasar información entre el servidor y ciertos programas externos. Los CGIs siguen utilizándose ampliamente; la mayoría de los servidores web permiten su uso debido a su sencillez. Además, dan total libertad para elegir el lenguaje de programación que se desea emplear. El funcionamiento de los CGIs tenía un punto débil: cada vez que se recibía una petición, el servidor debía lanzar un proceso para ejecutar el programa CGI. Como la mayoría de CGIs estaban escritos en lenguajes interpretados, como Perl o Python, o en lenguajes que requerían "run-time environment", como Java o Visual Basic, el servidor se veía sometido a una gran carga. La concurrencia de múltiples accesos al CGI podía comportar problemas graves. Por eso se empiezan a desarrollar alternativas a los CGIs que solucionaran el problema del rendimiento. Las soluciones llegan básicamente por dos vías: 1) se diseñan sistemas de ejecución de módulos mejor integrados con el servidor, que evitan la instanciación y ejecución de varios programas, y 2) se dota a los servidores un intérprete de algún lenguaje de programación que permita incluir el código en las páginas de forma que lo ejecute el servidor, reduciendo el intervalo de respuesta. Entonces se experimenta un aumento del número de arquitecturas y lenguajes que permiten desarrollar aplicaciones web. Todas siguen alguna de estas vías. Las más útiles y las más utilizadas son las que permiten mezclar los dos sistemas: un lenguaje integrado que permita al servidor interpretar comandos "incrustados" en las páginas HTML y, además, un sistema de ejecución de programas mejor enlazado con el servidor, que no implique los problemas de rendimiento propios de los CGIs. Una de las más potentes es la seguida por Sun Microsystems con su Java, integrado por dos componentes; un lenguaje que permite la incrustación de código en las páginas HTML que el servidor convierte en programas ejecutables, JSP ("Java Server Pages" o "Páginas de Servidor de Java"), y un método de programación muy ligado al servidor, con un rendimiento superior a los CGIs, denominado "Java Servlet".

1.5 Hoja de estilo en cascada

Una hoja de estilo es un conjunto de instrucciones que definen la apariencia de diversos elementos de un documento HTML. En otras palabras una hoja de estilo nos permite indicar por ejemplo el tamaño de la fuente, color y estilo de cierto párrafo que nosotros indiquemos, mediante la definición de estilos y aplicación de los mismos. Las hojas de estilo se usan porque tienen muchas ventajas sobre los tags tradicionales, ya que por ejemplo es posible crear una sola hoja de estilo que compartan muchos documentos, y al hacer un cambio en la hoja de estilo todos los documentos que la usan tendrán la apariencia deseada. También se puede tener control sobre ciertos aspectos que antes no se tenía, por ejemplo se pueden definir los márgenes de un documento o párrafo, o definir el espacio entre caracteres. Las hojas de estilo son la innovación más importante al HTML, ya que le dan capacidades que nunca tuvo.

Por ejemplo:

•El uso de diversas unidades de medición píxeles, puntos, picas, mm, en los principales elementos del HTML, como son tablas, fuentes, bordes y en general los elementos que tenían atributos como "size" "height" "width".

•El posicionamiento de bloques de texto en cualquier parte del documento HTML, ya que es posible definir en diversas unidades la posición de un bloque de texto.

•Mejor control sobre las fuentes que es necesario para otras tecnologías relacionadas como las fuentes dinámicas.

Para crear una hoja de estilo dentro de un documento se usa el tag

Contenido del documento...