Beruflich Dokumente
Kultur Dokumente
Contenido
UNIDAD 1 - Introduccin a WWW ................................................................................................1
Historia de la World Wide Web ................................................................................................2
Arquitectura de la www y conceptos .......................................................................................3
URL (Uniform Resource Locator) ..........................................................................................3
HTTP (HyperText Transfer Protocol = Protocolo de Transferencia de HiperTexto) ..............4
HTML (HyperText Markup Language = Lenguaje de Marcas de HiperTexto) ........................5
HTTP (HyperText Transfer Protocol) .........................................................................................7
Introduccin a CSS (Cascading Style Sheets = Hojas de estilo en cascada) ..............................9
Funcionamiento bsico de CSS .............................................................................................9
Incluir cdigo CSS en nuestra pgina Web HTML ...............................................................11
Definicin de estilos CSS .....................................................................................................13
Medios CSS .........................................................................................................................14
Comentarios CSS ................................................................................................................14
Servidor de Aplicaciones Web ................................................................................................15
Servidores Web ..................................................................................................................15
Tipos de Servidores Web ....................................................................................................15
Arquitecturas de las aplicaciones web ...............................................................................17
Aplicacin Web...................................................................................................................19
Procesamiento Esttico y Dinmico ...................................................................................20
Lenguajes de Programacin Web ...........................................................................................22
Lenguaje PHP......................................................................................................................22
Lenguaje ASP ......................................................................................................................23
Lenguaje ASP.NET ...............................................................................................................23
Lenguaje JSP .......................................................................................................................24
Pg. 1
Pg. 2
Tanto la identificacin de los recursos como las reglas de comunicacin son aspectos
relativamente estables, mientras que el formato de los documentos ha tenido una evolucin
ms compleja y contina en desarrollo. A continuacin se describen los diferentes estndares
que conforman la web.
Los URL (Uniform Resource Locator) son una notacin estndar para la especificacin de
recursos presentes en Internet. Constituyen la piedra angular del Web, ya que hacen posible
que un link de HTML se refiera a cualquier objeto de la red.
Un URL representa de un modo compacto la localizacin y el mtodo de acceso de cualquier
recurso de la red (Berners-Lee, Masinter y McCahill, 1994). No slo hay ms de dos millones de
ordenadores conectados a los varios miles de redes que forman la Internet, sino que existen
mltiples protocolos o formas diferentes de acceder a la informacin (ftp, gopher, http, etc.).
Los URL aportan esos dos datos esenciales: dnde se encuentra un recurso y cmo se puede
acceder a l.
La sintaxis de los URL es la siguiente:
URL:<esquema>:<parte-especfica-del-esquema>
Al recuperar un fichero mediante ftp annimo usamos "anonymous" como nombre de usuario,
y nuestra direccin de correo electrnico como password. En los URL esta informacin se
A.P.U. 2008 Programacin y Servicios Web
Pg. 3
omite dado que es conocida. Sin embargo, es posible incluirla si, por ejemplo, no se trata de
ftp annimo, sino que se necesita especificar un usuario real y su password. La sintaxis
genrica de los URL para objetos accesibles por ftp es la siguiente:
URL:ftp://[user[:password]@]host[:port]/path[;type=<typdecode>]
El "port" puede omitirse si el servidor de ftp emplea el port estndar de ftp (el 21). Este
principio de omitir lo ya conocido se sigue en todos los URL. Si los distintos servidores siguen
las recomendaciones de la Internet no es necesario incluir informacin redundante.
El "path" es la lista ordenada de subdirectorios por los que hay que pasar para llegar al fichero,
separados por "/", seguida del nombre del fichero.
El "type" es "d", "a", "i". "d" indica que se requiere la transmisin de una lista de nombres de
ficheros (un directorio). "a" solicita una transmisin de lneas de texto. "i" solicita una
transmisin binaria.
En la actualidad existen esquemas definidos para los siguientes servicios:
Esquema
ftp (File Transfer Protocol)
http (HyperText Transfer Protocol)
gopher (gopher)
mailto (correo electrnico)
Sintaxis
ftp://user:password@host:port/path;type=<typecode>
http://<host>:<port>/<path>?<searchpart>
gopher://<host>:<port>/<gopher-path>
mailto:<rfc822-addr-spec>
Conexin: El cliente establece una conexin con el servidor a travs del puerto 80
(puerto estndar), u otro especificado.
Peticin: El cliente enva una peticin al servidor.
Respuesta: El servidor enva al cliente la respuesta (esto es, el objeco demandado o un
cdigo de error).
Cierre: Ambas partes cierran la conexin.
HTTP (HyperText Transfer Protocol) es el protocolo de alto nivel del World-Wide Web que rige
el intercambio de mensajes entre clientes y servidores del Web.
Un protocolo es:
"Una descripcin formal de los formatos de los mensajes y las reglas que deben seguir dos
ordenadores para intercambiar dichos mensajes. Los protocolos pueden describir detalles de
bajo nivel de los interfaces de mquina a mquina (por ejemplo, el orden en el cual deben
enviarse bits y bytes a travs de un cable) o intercambios de alto nivel entre programas (por
ejemplo, la forma en que dos programas transfieren un fichero a travs de la Internet)."
(Malkin y LaQuey Parker, 1993, pg. 39).
A.P.U. 2008 Programacin y Servicios Web
Pg. 4
Generalidad: puede utilizarse para transferir cualquier tipo de datos, segn el estndar
MIME. Esto incluye tambin los que desarrollen en el futuro, ya que el cliente y el
servidor pueden negociar en cualquier momento el modo de representacin de los
datos: el cliente notifica al servidor una lista de formatos que entiende, y en adelante
el servidor slo remitir al cliente datos que este sea capaz de manejar. El cliente debe
aceptar al menos dos formatos: text/plain (texto normal) y text/html (hipertexto
codificado en HTML: el lenguaje en el que se escriben los hipertextos del Web --vase
el apartado siguiente).
Extensibilidad: contempla distintos tipos de transaccin entre clientes y servidores
("mtodos", en la jerga HTTP), y la futura implementacin de otros nuevos. Esto abre
posibilidades ms all de la simple recuperacin de objetos de la red: bsquedas,
anotaciones, etc.
Todo este "valor aadido" al texto se codifica como etiquetas ("tags", en la jerga) que se
insertan en el propio texto. Un ejemplo nos permitir hacernos una idea de todo ello:
Pg. 5
Las etiquetas del HTML se delimitan por medio de los signos < y >. Por ejemplo, la etiqueta <P>
marca el inicio de cada prrafo. Otras, la mayor parte, van por parejas: <TITLE> y </TITLE>
abren y cierran, respectivamente, el ttulo del documento.
Los links se abren y cierran con las etiquetas <A> y </A>. El objeto de la red a donde nos lleva
el link se codifica en la etiqueta de apertura por medio de una notacin que se ha convertido
de hecho en un estndar de Internet: los llamados URL.
Pg. 6
Por ejemplo:
Mensajes HTTP:
HTTP define los tipos de mensajes para solicitar la pgina Web y enva los tipos para responder:
POST y PUT se utilizan para enviar mensajes que cargan datos en el servidor :
Pg. 7
Pg. 8
Introduccin
cascada)
En el cdigo HTML se pueden incluir una serie de etiquetas representando tanto la clase de
elementos y secciones que queremos incluir en nuestra pgina como el estilo a aplicar en las
mismas.
En los ltimos aos, cada vez se va tendiendo ms a separar los contenidos de la presentacin,
el marcado de los contenidos de los estilos de visualizacin de los mismos.
Al crear una pgina web: o Se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los
contenidos, es decir, designar la funcin de cada elemento de la pgina: seccin, prrafo, texto
destacado, tabla, lista ordenada, control, etc. La idea es que esta parte tenga cada vez ms
semntica, dotando de sentido a los documentos generados y sus secciones. o En segundo
lugar, se emplea CSS para definir el aspecto de cada elemento (color, tamao, tipo de letra,
posicin, etc.).
Los navegadores contienen diversos componentes. Uno de ellos, el motor de renderizado, se
encarga de interpretar el cdigo HTML con las etiquetas y el cdigo CSS de formateo, y mostrar
el contenido con su formato en la ventana del navegador. Hay distintas versiones de HTML y
de CSS que van evolucionando, y su soporte en distintos motores es variable.
Una de las claves para el buen funcionamiento de nuestras aplicaciones web en distintos
navegadores es la estandarizacin. Conviene conocer las normas oficiales, ms all del
conjunto de funcionalidades implementadas en un momento dado en un navegador concreto,
lo que ir cambiando. El estado actual de las especificaciones estndar actual es CSS3.
Pg. 9
Hemos logrado el cambio de visualizacin deseado, pero a costa de mezclar los contenidos
(una cabecera principal, y dos prrafos) con el formato a dar a los mismos. Sin embargo, una
cuestin concierne a la persona que decide el tipo de informacin a presentar, y otra a la
A.P.U. 2008 Programacin y Servicios Web
Pg. 10
Como vemos, se han eliminado las referencias a color o tamao de texto como atributos de las
etiquetas
. En su lugar, se ha dejado sin atributo la etiqueta <h1> >, y se ha
calificado uno de los prrafos como importante, lo cual tiene una consideracin ms
semntica, y ser la hoja de estilo la que nos diga cmo presentar las cabeceras, los prrafos
normales (por defecto) y los prrafos importantes (calificados). A simple vista podemos ver
que se establece dentro de <head> un <style> de tipo text/css, y que en su interior definimos
el formato a aplicar a las etiquetas <h1> (color de texto blue), y a aquello que se califique
como importante, .imp (tamao de texto x-large).
Existen tres formas de incluir cdigo CSS del tipo que hemos visto en nuestra pgina web,
como veremos a continuacin.
Pg. 11
Se pueden emplear instrucciones de estilo CSS con el atributo style dentro de cualquier
etiqueta HTML. Es la opcin menos aconsejada y usada, puesto que no permite
separacin entre contenido y presentacin, ni estandarizar y reutilizar, pero es la
opcin a emplear en caso de querer aplicar un formato de forma excepcional a un solo
elemento.
Por ejemplo:
Pg. 12
Para importarlo, bastar con escribir en las pginas que queramos aplicar el estilo:
De esta forma, cuando el navegador carga la pgina HTML, al ver esta etiqueta
descarga los archivos CSS externos enlazados mediante y aplica los estilos a los
contenidos de la pgina.
Una seccin de definicin de estilos CSS (tanto en etiqueta style como en archivo externo)
permite definir un conjunto de reglas CSS.
Una declaracin se compone de una o varias propiedades CSS con sus valores, siendo:
Pg. 13
Los estilos aplicados directamente sobre un elemento HTML incluyen nicamente la seccin de
declaraciones, ya que el elemento seleccionado es sobre el que estamos actuando con el
atributo style.
En la especificacin actual, CSS 2.1, hay definidas 115 propiedades, si bien en CSS3 ya va por
239, a falta de cerrar la especificacin de este estndar.
Medios CSS
Podemos aplicar distintos estilos sobre la misma declaracin de contenidos HTML, definiendo
el formato aplicar sobre distintos medios como la pantalla (screen), impresoras (print),
dispositivos de mano (handheld), etc.
Por defecto nuestro estilo se mostrar para todas las posibles salidas o medios.
Si queremos aplicar las reglas en un determinado medio, se puede indicar mediante:
media="screen" como atributo de la etiqueta .
@import url("estilos_seccion.css") screen; dentro de la etiqueta style.
En la seccin style, para un determinado conjunto de reglas:
@media print {
body { font-size: 10pt }
}
Comentarios CSS
Los comentarios dentro de la seccin de CSS se indican entre /* y */: o /* Este es mi
comentario */.
Pueden ocupar una o varias lneas.
No confundir con los comentarios HTML: <!-- comentario -->
Pg. 14
El servidor web, se encarga de contestar a peticiones de ejecucin realizadas por los clientes o un
usuario de internet o intranet; de forma adecuada, entregando como resultado una pgina web o
informacin de todo tipo de acuerdo a los comandos solicitados
Servidor Dedicado: se refiere a una computadora servidora al sitio del cliente(para aplicaciones
de alta demanda) (Hosting)
Servidor Compartido: lo que significa que un mismo servidor (computadora + programas
servidos) se usara para varios clientes compartiendo los recursos
Pg. 15
Servidor Apache
Es un servidor http(1996), de cdigo abierto y multiplataforma(Unix (BSD, GNU/Linux, etc.), Microsoft
Windows, Macintosh)
Ventajas:
Su extensibilidad y construccin modular. Se puede poner mdulos para ampliar su
funcionabilidad (por ejemplo mod_php para ejecutar paginas PhP)
La nocin de sitio virtual: Posibilidad de colocar mltiples sitios web en la misma maquina.
Robusto y estable
Desventaja
Falta de una interfaz grafica que ayude a su configuracin
IIS vs Apache
Ambos son software utilizados en el servidor para ofrecer servicios, los cuales son:
Apache: HTTP, HTTPS, FTP y FTPS (usando mdulo mod_ftp), SMTP (usando mdulo
mod_smtpd), NNTP (aunque debe ser implementado aparte).
IIS: HTTP, HTTPS, FTP, FTPS, SMTP y NNTP.
Una de las principales caractersticas en comn adems de sus usos, es que su funcionalidad se
ve ampliada gracias a una gran cantidad de mdulos que pueden ser aadidos, por ejemplo
para la gestin de las bases de datos. Tambin poseen en comn la posibilidad de uso de
lenguajes como PHP, Perl y Python.
Diferencia: a diferencia de IIS, Apache no permite el uso de ASP a menos que se importe un
mdulo especifico. Una diferencia importante entre ambos es que Apache es software libre y
multiplataforma, mientras que IIS es software propietario y est hecho para sistemas
Windows. En cuanto al aumento de funcionalidad por mdulos, en ambos casos es muy grande
y no existe gran diferencia. En relacin al rendimiento, algunos lugares indican un mejor
rendimiento en Apache aunque esto depende del sistema operativo utilizado.
Pg. 16
Pg. 17
5. Todo separado: las tres funcionalidades bsicas del servidor web se separan en tres
servidores especficos. La tecnologa que emplea esta arquitectura es JSP.
Pg. 18
Aplicacin Web
Las aplicaciones web utilizan lo que se conoce como clientes livianos (light clients) los cuales
no ejecutan demasiadas labores de procesamiento para la ejecucin de la aplicacin misma.
Desde el punto de vista de la arquitectura se distinguen dos lados; uno es el cliente, donde se
encuentra el usuario final utilizando la aplicacin por medio de un navegador (como Internet
Explorer o Mozilla Firefox). A travs de este cliente web, el usuario interacta con la aplicacin
localizada al otro lado, en el servidor, que es donde residen realmente los datos, reglas y
lgica de la aplicacin.
A.P.U. 2008 Programacin y Servicios Web
Pg. 19
El servidor de pginas estticas siempre devuelve el mismo recurso para el mismo pedido.
Procesamiento Dinamico
Pensemos, por ejemplo, en el sistema de un banco. Si ingreso en el sitio del banco y quiero
consultar mi saldo, debera devolverme mi saldo actual al momento exacto de pedirlo. Si el
sitio web slo provee contenido esttico, entonces deberan tener una pgina guardada en el
disco para cada saldo posible. Esto, obviamente, es impracticable. Y tampoco es viable que
haya una persona que est actualizando las pginas de saldos de todos los usuarios a medida
que van realizando operaciones sobre sus cuentas. En esos casos, el servidor efecta
operaciones (yendo a buscar datos a una base de datos, consultando con otro servidor o
accediendo a otro tipo de servicios de negocios) y devuelve una pgina dinmica; esto es, una
pgina que no est guardada en ningn lugar dentro del servidor, sino que fue creada en el
momento para quien la pidi. El servidor accede a los datos variables, en este caso, el saldo del
usuario, luego construye en memoria la pgina con este dato y se la devuelve al cliente, que la
muestra en pantalla.
Pg. 20
El servidor web dinmico construye una respuesta distinta para cada pedido.
La programacin web entonces, consiste en escribir programas que, dada una peticin web
realizada por un cliente (un navegador), procesen el pedido y generen y devuelvan un
resultado. Como en todo proceso de desarrollo de software, hay mucho de reutilizacin.
Podremos ver que, por ejemplo, la parte de recibir el pedido y enviar la respuesta por lo
general no cambia, solamente cambia la lgica de negocios de cada pedido y el contenido de la
respuesta generada. En este libro utilizaremos herramientas ya desarrolladas de cdigo abierto
que nos ayudarn en la creacin de aplicaciones web.
Pg. 21
Ventajas:
Desventajas:
Pg. 22
La legibilidad del cdigo puede verse afectada al mezclar sentencias HTML y PHP.
La programacin orientada a objetos es an muy deficiente para aplicaciones grandes.
Dificulta la modularizacin.
Dificulta la organizacin por capas de la aplicacin.
Lenguaje ASP
Es una tecnologa del lado de servidor desarrollada por Microsoft para el desarrollo de sitio
web dinmicos. ASP significa en ingls (Active Server Pages), fue liberado por Microsoft en
1996. Las pginas web desarrolladas bajo este lenguaje es necesario tener instalado Internet
Information Server (IIS).
ASP no necesita ser compilado para ejecutarse. Existen varios lenguajes que se pueden utilizar
para crear pginas ASP. El ms utilizado es VBScript, nativo de Microsoft. ASP se puede hacer
tambin en Perl and Jscript (no JavaScript). El cdigo ASP puede ser insertado junto con el
cdigo HTML. Los archivos cuentan con la extensin (asp).
Ventajas:
Desventajas:
Cdigo desorganizado.
Se necesita escribir mucho cdigo para realizar funciones sencillas.
Tecnologa propietaria.
Hospedaje de sitios web costosos.
Lenguaje ASP.NET
Este es un lenguaje comercializado por Microsoft, y usado por programadores para desarrollar
entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnologa ASP, fue lanzada al
mercado mediante una estrategia de mercado denominada .NET.
El ASP.NET fue desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Creado
para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede
utilizar C#, VB.NET o J#. Los archivos cuentan con la extensin (aspx). Para su funcionamiento
de las pginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003
incluye este framework, solo se necesitar instalarlo en versiones anteriores.
Ventajas:
Pg. 23
Desventajas:
Lenguaje JSP
Es un lenguaje para la creacin de sitios web dinmicos, acrnimo de Java Server Pages. Est
orientado a desarrollar pginas web en Java. JSP es un lenguaje multiplataforma. Creado para
ejecutarse del lado del servidor.
JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET,
desarrollado para la creacin de aplicaciones web potentes. Posee un motor de pginas
basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor
Tomcat.
Caractersticas:
Ventajas:
Desventajas:
Complejidad de aprendizaje.
Pg. 24