You are on page 1of 21

INSTITUTO TECNOLOGICO SUPERIOR DE ACAYUCAN

LICENCIATURA EN INFORMATICA

DESARROLLO DE APLICACIONES WEB DOCENTE: LI. FRANCISCO GIBRAN GARCIA C.

ACAYUCAN, VER. ENERO 2009

Unidad I Introduccin a las aplicaciones WEB

Desarrollo de Aplicaciones WEB

1. Introduccin a las aplicaciones WEB 1.1 Historia de las aplicaciones WEB

Inicialmente la web era simplemente una coleccin de pginas estticas, documentos, etc., que podan consultarse o descargarse. El siguiente paso en su evolucin fue la inclusin de un mtodo para confeccionar pginas dinmicas que permitiesen que lo mostrado fuese dinmico (generado o calculado a partir de los datos de la peticin). Dicho mtodo fue conocido como CGI (common Gateway interface) y defina un mecanismo mediante el cual podamos pasar informacin entre el servidor HTTP y programas externos. Los CGI siguen siendo muy utilizados, puesto que la mayora de los servidores web los soportan debido a su sencillez. Adems, nos proporcionan total libertad a la hora de escoger el lenguaje de programacin para desarrollarlos. El esquema de funcionamiento de los CGI tena un punto dbil: cada vez que recibamos una peticin, el servidor web lanzaba un proceso que ejecutaba el programa CGI. Como, por otro lado, la mayora de CGI estaban escritos en algn lenguaje interpretado (Perl, Python, etc.) o en algn lenguaje que requera runtime environment (VisualBasic, Java, etc.), esto implicaba una gran carga para la mquina del servidor. Adems, si la web tena muchos accesos al CGI, esto supona problemas graves. Por ello se empiezan a desarrollar alternativas a los CGI para solucionar este grave problema de rendimiento. Las soluciones vienen principalmente por dos vas. Por un lado se disean sistemas de ejecucin de mdulos ms integrados con el servidor, que evitan que ste tenga que instanciar y ejecutar multitud de programas. La otra va consiste en dotar al servidor de un intrprete de algn lenguaje de programacin (RXML, PHP, VBScript, etc.) que nos permita incluir las pginas en el cdigo de manera que el servidor sea quien lo ejecute, reduciendo as el tiempo de respuesta. A partir de este momento, se vive una explosin del nmero de arquitecturas y lenguajes de programacin que nos permiten desarrollar aplicaciones web. Todas ellas siguen alguna de las dos vas ya mencionadas. De ellas, las ms tiles y las que ms se utilizan son aquellas que permiten mezclar los dos sistemas, es decir, un lenguaje de programacin integrado que permita al servidor interpretar comandos que incrustemos en las pginas HTML y un sistema de ejecucin de programas ms enlazado con el servidor que no presente los problemas de rendimiento de los CGI.
Desarrollo de Aplicaciones WEB 3

Una de las tecnologas que ms xito ha obtenido y una de las que ms se utiliza en Internet es el lenguaje de programacin interpretado por el servidor PHP. Se trata de un lenguaje que permite incrustar HTML en los programas, con una sintaxis que proviene de C y Perl. Adems, habida cuenta de su facilidad de aprendizaje, su sencillez y potencia, se est convirtiendo en una herramienta muy utilizada para algunos desarrollos. Otros mtodos de programacin de aplicaciones web tambin tienen su mercado. As sucede con mod_perl para Apache, RXML para Roxen, etc., pero muchos de ellos estn vinculados a un servidor web concreto.

1.2 Fundamentos de la WEB El xito espectacular de la web se basa en dos puntales fundamentales: el protocolo HTTP y el lenguaje HTML. Uno permite una implementacin simple y sencilla de un sistema de comunicaciones que nos permite enviar cualquier tipo de ficheros de una forma fcil, simplificando el funcionamiento del servidor y permitiendo que servidores poco potentes atiendan miles de peticiones y reduzcan los costes de despliegue. El otro nos proporciona un mecanismo de composicin de pginas enlazadas simple y fcil, altamente eficiente y de uso muy simple. El protocolo HTTP El protocolo HTTP (hypertext tranfer protocol) es el protocolo base de la WWW. Se trata de un protocolo simple, orientado a conexin y sin estado. La razn de que est orientado a conexin es que emplea para su funcionamiento un protocolo de comunicaciones (TCP, transport control protocol) de modo conectado, un protocolo que establece un canal de comunicaciones de extremo a extremo (entre el cliente y el servidor) por el que pasa el flujo de bytes que constituyen los datos que hay que transferir, en contraposicin a los protocolos de datagrama o no orientados a conexin que dividen los datos en pequeos paquetes (datagramas) y los envan, pudiendo llegar por vas diferentes del servidor al cliente. El protocolo no mantiene estado, es decir, cada transferencia de datos es una conexin independiente de la anterior, sin relacin alguna entre ellas, hasta el punto de que para transferir una pgina web tenemos que enviar el cdigo HTML del texto, as como las imgenes que la componen, pues en la especificacin inicial de HTTP, la 1.0, se abran y usaban tantas conexiones como componentes tena la pgina, trasfirindose por cada conexin un componente (el texto de la pgina o cada una de las imgenes).

Desarrollo de Aplicaciones WEB

Existe una variante de HTTP llamada HTTPS (S por secure) que utiliza el protocolo de seguridad SSL (secure socket layer) para cifrar y autenticar el trfico entre cliente y servidor, siendo sta muy usada por los servidores web de comercio electrnico, as como por aquellos que contienen informacin personal o confidencial. De manera esquemtica, el funcionamiento de HTTP es el siguiente: el cliente establece una conexin TCP hacia el servidor, hacia el puerto HTTP (o el indicado en la direccin de conexin), enva un comando HTTP de peticin de un recurso (junto con algunas cabeceras informativas) y por la misma conexin el servidor responde con los datos solicitados y con algunas cabeceras informativas.

Figura 1 Funcionamiento de http

El protocolo define adems cmo codificar el paso de parmetros entre pginas, el tunelizar las conexiones (para sistemas de firewall), define la existencia de servidores intermedios de cache, etc. Las directivas de peticin de informacin que define HTTP 1.1 (la versin considerada estable y al uso) son: GET Peticin de recurso. POST Peticin de recurso pasando parmetros. HEAD Peticin de datos sobre recurso. PUT Creacin o envo de recurso. DELETE Eliminacin de recurso.

Desarrollo de Aplicaciones WEB

TRACE Devuelve al origen la peticin tal como se ha recibido en el receptor, para depurar errores. OPTIONS Sirve para comprobar las capacidades del servidor. CONNECT Reservado para uso en servidores intermedios capaces de funcionar como tneles. Detallaremos a continuacin algunos de estos comandos, ya que su comprensin es fundamental para el desarrollo de aplicaciones web. Cabe destacar que todos los recursos que sean servidos mediante HTTP debern ser referenciados mediante una URL (universal resource locators). Peticiones en HTTP: GET y POST Las peticiones en HTTP pueden realizarse usando dos mtodos. El mtodo GET, en caso de enviar parmetros junto a la peticin, las enviara codificadas en la URL. Por su parte, el mtodo POST, en caso de enviarlos, lo hara como parte del cuerpo de la peticin. Una peticin GET sigue el siguiente formato: GET /index.html HTTP/1.1 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 Podemos ver que est formada por: 1. Lnea de peticin: contiene el recurso solicitado. 2. Cabecera de peticin: contiene informacin adicional sobre elcliente. 3. Cuerpo de peticin: en las peticiones de tipo POST, y otras, contiene informacin adicional. Lnea de peticin La lnea de peticin est formada por los siguientes elementos: 1. Mtodo: nombre del mtodo de HTTP llamado (GET, POST, etc.).

Desarrollo de Aplicaciones WEB

2. Identificador de recurso: URL (uniform resource locator) del recurso solicitado. 3. Versin de protocolo: versin del protocolo solicitada para la respuesta. Cabecera de peticin Contiene informacin adicional que puede ayudar al servidor (o a los servidores intermedios, los proxies y caches) a procesar adecuadamente la peticin. La informacin se proporciona en forma de: Identificador: valor De estos identificadores, los ms conocidos e importantes son: Host: nombre del servidor solicitado. User-Agent: nombre del navegador o programa usado para acceder al recurso. Accept: algunos formatos de texto e imagen aceptados por el cliente. Accept-Language: idiomas soportados (preferidos) por el cliente, til para personalizar la respuesta automticamente.

Parmetros de peticin Una peticin HTTP puede tambin contener parmetros, como respuesta, por ejemplo, a un formulario de registro, a una seleccin de producto en una tienda electrnica, etc. Estos parmetros pueden pasarse de dos formas: Como parte de la cadena de peticin, codificados como parte de la URL. Como datos extra a la peticin. Para codificar los parmetros como parte de la URL, stos se aaden a la URL detrs del nombre del recurso, separados de ste por un carcter ?. Los diferentes parmetros se separan entre s por el carcter &. Los espacios se sustituyen por +. Por ltimo, los caracteres especiales (los mencionados antes de &, + y ?, as como los caracteres no imprimibles, etc.) se representan con %xx, donde xx representa al cdigo ASCII en hexadecimal del carcter. Por ejemplo:

Desarrollo de Aplicaciones WEB

http://www.ejemplo.com/indice.jsp?nombre=Gibran+Garcia&OK=1

que en la peticin HTTP quedara: GET /indice.jsp?nombre=Gibran+Garcia&OK=1 HTTP/1.0 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 Para pasar los parmetros como datos extra de la peticin, stos se envan al servidor como cuerpo de mensaje en la peticin. Por ejemplo, la peticin anterior quedara: POST /indice.jsp HTTP/1.0 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 nombre=Gibran+Garcia&OK=1 Cabe destacar que para pasar los parmetros como cuerpo de la peticin, sta debe realizarse como POST y no como GET, aunque una peticin POST tambin puede llevar parmetros en la lnea de peticin. Los parmetros pasados como cuerpo de la peticin estn codificados, al igual que en el ejemplo anterior, como URL, o pueden usar una codificacin derivada del formato MIME (multipurpose internet mail extensions), en lo que se conoce como codificacin multiparte. La peticin anterior en formato multiparte sera: POST /indice.jsp HTTP/1.0 Host: www.ejemplo.com

Desarrollo de Aplicaciones WEB

User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 Content-Type: multipart/form-data, delimiter=----ALEATORIO---- ----ALEATORIO---Content-Disposition: form-data; name=nombre Perico Palotes ----ALEATORIO---Content-Disposition: form-data; name=OK 1 ----ALEATORIO-----Esta codificacin es exclusiva del mtodo POST. Se emplea para enviar ficheros al servidor. Respuestas en HTTP Las respuestas en HTTP son muy similares a las peticiones. Una respuesta estndar a una peticin de una pgina sera similar a lo siguiente:

HTTP/1.1 200 OK Date: Mon, 04 Aug 2003 15:19:10 GMT Server: Apache/2.0.40 (Red Hat Linux) Last-Modified: Tue, 25 Mar 2003 08:52:53 GMT Accept-Ranges: bytes Content-Length: 428 Connection: close <HTML>
Desarrollo de Aplicaciones WEB 9

... En ella podemos observar que la primera lnea nos responde con la versin del protocolo empleada para enviarnos la pgina, seguida de un cdigo de retorno y una frase de retorno. El cdigo de retorno puede adoptar uno de los siguientes valores: 1xx Peticin recibida, contina en proceso. 2xx Correcta. Peticin procesada correctamente. 3xx Redireccin. La peticin debe repetirse o redirigirse. 4xx Error de cliente. No se puede procesar la peticin porque sta es incorrecta, no existe, etc. 5xx Error de servidor. El servidor ha fallado intentando procesar la peticin, que a priori es correcta. La frase de retorno depender de la implementacin, pero slo sirve como aclaratorio del cdigo de retorno. Despus del estatus aparece una serie de campos de control, con el mismo formato que en las cabeceras de la peticin que nos informan del contenido (fecha de creacin, longitud, versin del servidor, etc.). A continuacin viene el contenido solicitado. El lenguaje HTML El otro puntal del xito del WWW ha sido el lenguaje HTML (hypertext mark-up language). Se trata de un lenguaje de marcas (se utiliza insertando marcas en el interior del texto) que nos permite representar de forma rica el contenido y tambin referenciar otros recursos (imgenes, etc.), enlaces a otros documentos (la caracterstica ms destacada del WWW), mostrar formularios para posteriormente procesarlos, etc. El lenguaje HTML actualmente se encuentra en la versin 4.01 y empieza a proporcionar funcionalidades ms avanzadas para crear pginas ms ricas en contenido. Adems se ha definido una especificacin compatible con HTML, el XHTML (extensible hypertext markup language) que se suele definir como una versin XML validable de HTML, proporcionndonos un XML Schema contra el que validar el documento para comprobar si est bien formado, etc.

1.3 Introduccin a Internet

Desarrollo de Aplicaciones WEB

10

Internet, la red de redes, nace a mediados de la dcada de los setenta, bajo los auspicios de DARPA, la Agencia de Proyectos Avanzados para la Defensa de Estados Unidos. DARPA inici un programa de investigacin de tcnicas y tecnologas para unir diversas redes de conmutacin de paquetes, permitiendo as a los ordenadores conectados a estas redes comunicarse entre s de forma fcil y transparente. De estos proyectos naci un protocolo de comunicaciones de datos, IP o Internet Protocol, que permita a ordenadores diversos comunicarse a travs de una red, Internet, formada por la interconexin de diversas redes. A mediados de los ochenta la Fundacin Nacional para la Ciencia norteamericana, la NSF, cre una red, la NSFNET, que se convirti en el backbone (el troncal) de Internet junto con otras redes similares creadas por la NASA (NSINet) y el U.S. DoE (Department of Energy) con la ESNET. En Europa, la mayora de pases disponan de backbones nacionales (NORDUNET, RedIRIS, SWITCH, etc.) y de una serie de iniciativas paneuropeas (EARN y RARE). En esta poca aparecen los primeros proveedores de acceso a Internet privados que ofrecen acceso pagado a Internet. A partir de esta poca, gracias entre otras cosas a la amplia disponibilidad de implementaciones de la suite de protocolos TCP/IP (formada por todos los protocolos de Internet y no slo por TCP e IP), algunas de las cuales eran ya de cdigo libre, Internet empez lo que posteriormente se convertira en una de sus caractersticas fundamentales, un ritmo de crecimiento exponencial, hasta que a mediados del 2002 empieza a descender ligeramente el ritmo de crecimiento.

A mediados de los noventa se inici el boom de Internet. En esa poca el nmero de proveedores de acceso privado se dispar, permitiendo a millones de personas acceder a Internet, que a partir de ese momento ya se empez a conocer como la Red, desbancado a las dems redes de comunicacin existentes (Compuserve, FidoNet/BBS, etc.). El punto de inflexin vino marcado por la aparicin de implementaciones de TCP/IP gratuitas (incluso de implementaciones que formaban parte del sistema operativo) as como por la popularizacin y abaratamiento de medios de acceso cada vez ms rpidos (mdems de mayor velocidad, RDSI, ADSL, cable, satlite). El efecto de todos estos cambios fue de bola de nieve: a medida que se conectaban ms usuarios, los costes se reducan, aparecan ms proveedores e Internet se haca ms atractivo y econmico, con lo que se conectaban ms usuarios, etc.

Desarrollo de Aplicaciones WEB

11

En estos momentos disponer de una direccin de correo electrnico, de acceso a la web, etc., ha dejado de ser una novedad para convertirse en algo normal en muchos pases del mundo. Por eso las empresas, instituciones, administraciones y dems estn migrando rpidamente todos sus servicios, aplicaciones, tiendas, etc., a un entorno web que permita a sus clientes y usuarios acceder a todo ello por Internet. A pesar del ligero descenso experimentado en el ritmo de crecimiento, Internet est destinado a convertirse en una suerte de servicio universal de comunicaciones, permitiendo una comunicacin universal.

1.4 Los servicios que ofrece la Internet 1.4.1 World Wide Web La WWW (World Wide Web) o, de forma ms coloquial, la web, se ha convertido, junto con el correo electrnico, en el principal caballo de batalla de Internet. sta ha dejado de ser una inmensa biblioteca de pginas estticas para convertirse en un servicio que permite acceder a multitud de prestaciones y funciones, as como a infinidad de servicios, programas, tiendas, etc. Breve historia de la WWW En 1989, mientras trabajaba en el CERN (Centro Europeo de Investigacin Nuclear), Tim Berners-Lee empez a disear un sistema para hacer accesible fcilmente la informacin del CERN. Dicho sistema empleaba el hipertexto para estructurar una red de enlaces entre los documentos. Una vez obtenida la aprobacin para continuar el proyecto, naci el primer navegador web, llamado World-WideWeb (sin espacios). En 1992 el sistema ya se haba extendido fuera del CERN. El nmero de servidores estables haba aumentado, alcanzando la sorprendente cifra de veintisis. A partir de este punto, el crecimiento es espectacular. En 1993 la web ya era merecedora de un espacio en el New York Times. ste es el ao del lanzamiento de Mosaic, un navegador para X-Window/ Unix que con el tiempo se convertira en Netscape y que fue un factor clave de popularizacin de la web. En 1994 se fund el WWW Consortium, que se convertira en el motor de desarrollo de los estndares predominantes en la web (http://www.w3c.org). A partir de ese momento, el crecimiento ya fue constante, convirtindose hacia finales de los noventa en el servicio insignia de Internet y dando lugar al crecimiento imparable de los servicios en lnea que estamos experimentado actualmente.

Desarrollo de Aplicaciones WEB

12

1.4.2 E-mail Es un servicio de red que permite a los usuarios enviar y recibir mensajes rpidamente (tambin denominados mensajes electrnicos o cartas electrnicas) mediante sistemas de comunicacin electrnicos. Principalmente se usa este nombre para denominar al sistema que provee este servicio en Internet, mediante el protocolo SMTP, aunque por extensin tambin puede verse aplicado a sistemas anlogos que usen otras tecnologas. Por medio de mensajes de correo electrnico se puede enviar, no solamente texto, sino todo tipo de documentos. Su eficiencia, conveniencia y bajo costo estn logrando que el correo electrnico desplace al correo ordinario para muchos usos habituales.

Origen El correo electrnico antecede a la Internet, y de hecho, para que sta pudiera ser creada, fue una herramienta crucial. En una demostracin del MIT (Massachusetts Institute of Technology) de 1961, se exhibi un sistema que permita a varios usuarios ingresar a una IBM 7094 desde terminales remotas, y as guardar archivos en el disco. Esto hizo posible nuevas formas de compartir informacin. El correo electrnico comenz a utilizarse en 1965 en una supercomputadora de tiempo compartido y, para 1966, se haba extendido rpidamente para utilizarse en las redes de computadoras. En 1971 Ray Tomlinson incorpor el uso de la arroba (@). Eligi la arroba como divisor entre el usuario y la computadora en la que se aloja la casilla de correo porque en ingls @ se dice "at" (en). As, fulano@maquina.com se lee fulano en la mquina punto com. El nombre correo electrnico proviene de la analoga con el correo postal: ambos sirven para enviar y recibir mensajes, y se utilizan "buzones" intermedios (servidores), en donde los mensajes se guardan temporalmente antes de dirigirse a su destino, y antes de que el destinatario los revise.

Correo web Casi todos los proveedores de correo dan el servicio de correo web (webmail): permiten enviar y recibir correos mediante una pgina web diseada para ello, y por tanto usando slo un programa navegador web. La alternativa es usar un programa de correo especializado.

Desarrollo de Aplicaciones WEB

13

El correo web es cmodo para mucha gente, porque permite ver y almacenar los mensajes desde cualquier sitio (en un servidor remoto, accesible por la pgina web) en vez de en un ordenador personal concreto. Como desventaja, es difcil de ampliar con otras funcionalidades, porque la pgina ofrece unos servicios concretos y no podemos cambiarlos. Adems, suele ser ms lento que un programa de correo, ya que hay que estar continuamente conectado a pginas web y leer los correos de uno en uno.

Cliente de correo Tambin estn los clientes de correo electrnico, que son programas para gestionar los mensajes recibidos y poder escribir nuevos. Suelen incorporar muchas ms funcionalidades que el correo web, ya que todo el control del correo pasa a estar en el ordenador del usuario. Por ejemplo, algunos incorporan potentes filtros anti-spam. Por el contrario, necesitan que el proveedor de correo ofrezca este servicio, ya que no todos permiten usar un programa especializado (algunos slo dan correo web). En caso de que s lo permita, el proveedor tiene que explicar detalladamente cmo hay que configurar el programa de correo. Esta informacin siempre est en su pgina web, ya que es imprescindible para poder hacer funcionar el programa, y es distinta en cada proveedor. Entre los datos necesarios estn: tipo de conexin (POP o IMAP), direccin del servidor de correo, nombre de usuario y contrasea. Con estos datos, el programa ya es capaz de obtener y descargar nuestro correo. El funcionamiento de un programa de correo es muy diferente al de un correo web, ya que un programa de correo descarga de golpe todos los mensajes que tenemos disponibles, y luego pueden ser ledos sin estar conectados a Internet (adems, se quedan grabados en el ordenador). En cambio, en una pgina web se leen de uno en uno, y hay que estar conectado a la red todo el tiempo. Algunos ejemplos de programas de correo son Mozilla Thunderbird, Outlook Express y Eudora

Envo de un mensaje electrnico

Desarrollo de Aplicaciones WEB

14

La figura 1.2 representa el funcionamiento (bastante complejo) del correo electrnico.

Figura 2 Funcionamiento del Correo Electrnico

En este ejemplo ficticio, Ana (ana@a.org) enva un correo a Bea (bea@b.com). Cada persona est en un servidor distinto (una en a.org, otra en b.com), pero stos se pondrn en contacto para transferir el mensaje. Por pasos: 1. Ana escribe el correo en su programa cliente de correo electrnico. Al darle a Enviar, el programa contacta con el servidor de correo usado por Ana (en este caso, smtp.a.org). Se comunica usando un lenguaje conocido como protocolo SMTP. Le transfiere el correo, y le da la orden de enviarlo. 2. El servidor SMTP ve que ha de entregar un correo a alguien del dominio b.com, pero no sabe con qu ordenador tiene que contactar. Por eso consulta a su servidor DNS (usando el protocolo DNS), y le pregunta que quin es el encargado de gestionar el correo del dominio b.com. Tcnicamente, le est preguntando el registro MX asociado a ese dominio.
Desarrollo de Aplicaciones WEB 15

3. Como respuesta a esta peticin, el servidor DNS contesta con el nombre de dominio del servidor de correo de Bea. En este caso es mx.b.com; es un ordenador gestionado por el proveedor de Internet de Bea. 4. El servidor SMTP (smtp.a.org) ya puede contactar con mx.b.com y transferirle el mensaje, que quedar guardado en este ordenador. Se usa otra vez el protocolo SMTP. 5. Ms adelante (quizs das despus), Bea aprieta el botn "Recibir nuevo correo" en su programa cliente de correo. Esto empieza una conexin, mediante el protocolo POP3 o IMAP, al ordenador que est guardando los correos nuevos que le han llegado. Este ordenador (pop3.b.com) es el mismo que el del paso anterior (mx.b.com), ya que se encarga tanto de recibir correos del exterior como de entregrselos a sus usuarios. En el esquema, Bea recibe el mensaje de Ana mediante el protocolo POP3.

sta es la secuencia bsica, pero pueden darse varios casos especiales: Si ambas personas estn en la misma red (una Intranet de una empresa, por ejemplo), entonces no se pasa por Internet. Tambin es posible que el servidor de correo de Ana y el de Bea sean el mismo ordenador. Ana podra tener instalado un servidor SMTP en su ordenador, de forma que el paso 1 se hara en su mismo ordenador. De la misma forma, Bea podra tener su servidor de correo en el propio ordenador. Una persona puede no usar un programa de correo electrnico, sino un webmail. El proceso es casi el mismo, pero se usan conexiones HTTP al webmail de cada usuario en vez de usar SMTP o IMAP/POP3. Normalmente existe ms de un servidor de correo (MX) disponible, para que aunque uno falle, se siga pudiendo recibir correo. Si el usuario quiere puede almacenar los mensajes que enva, bien de forma automtica (con la opcin correspondiente), bien slo para los mensajes que as lo desee. Estos mensajes quedan guardados en la carpeta "Enviados".

Problemas El principal problema actual es el spam, que se refiere a la recepcin de correos no solicitados, normalmente de publicidad engaosa, y en grandes cantidades.

Desarrollo de Aplicaciones WEB

16

Adems del spam, existen otros problemas que afectan a la seguridad y veracidad de este medio de comunicacin: los virus informticos, que se propagan mediante ficheros adjuntos infectando el ordenador de quien los abre el phishing, que son correos fraudulentos que intentan conseguir informacin bancaria los engaos (hoax), que difunden noticias falsas masivamente las cadenas de correo electrnico, que consisten en reenviar un mensaje a mucha gente; aunque parece inofensivo, la publicacin de listas de direcciones de correo contribuye a la propagacin a gran escala del spam y de mensajes con virus, phishing y hoax.

Principales proveedores de servicios de correo electrnico gratuito: o Gmail: webmail, POP3 e IMAP o Hotmail: webmail o Yahoo!: webmail y POP3 con publicidad o Lycos: webmail

Programas para leer y organizar correo o Evolution: Linux o Mail: MacOS X o Outlook Express: Windows o Thunderbird: Windows, Linux, MacOS X

1.4.3 IRC IRC (Internet Relay Chat) es un protocolo de comunicacin en tiempo real basado en texto, que permite debates en grupo o entre dos personas y que est clasificado dentro de la Mensajera instantnea. IRC es un Protocolo de red que utiliza TCP as como opcionalmente SSL. Un servidor de IRC se puede conectar a otros servidores IRC para expandir la red
Desarrollo de Aplicaciones WEB 17

IRC. Los usuarios acceden a las redes de IRC conectando un cliente a un servidor. Existen muchas implementaciones de clientes IRC as como de servidores. La mayora de los servidores IRC no necesitan que los usuarios se registren, aunque de cualquier manera se necesita que los usuarios establezcan un alias antes de conectarse. El IRC es popularmente utilizado para hablar, hacerse de amigos y reunir grupos de gente con los mismos gustos. Para ello, cualquier persona puede iniciar el canal especifico. Adems de esto un canal de iRC tambin es utilizado como sitio para compartir archivos. Los hay especializados en msica y en libros, entre otros. Otra modalidad muy utilizada es la de los juegos, en el que se destacan los Cyberjuegos, habiendo cientos de canales en todos los servidores.

1.4.4 Telnet Telnet, protocolo de comunicaciones que permite al usuario de una computadora con conexin a Internet establecer una sesin como terminal remoto de otro sistema de la Red. Si el usuario no dispone de una cuenta en el ordenador o computadora remoto, puede conectarse como usuario anonymous y acceder a los ficheros de libre distribucin. Muchas mquinas ofrecen servicios de bsqueda en bases de datos usando este protocolo. En la actualidad se puede acceder a travs de World Wide Web (WWW) a numerosos recursos que antes slo estaban disponibles usando Telnet.

1.4.5 FTP FTP (File Transfer Protocol) es un protocolo de transferencia de archivos entre sistemas conectados a una red TCP basado en la arquitectura cliente-servidor, de manera que desde un equipo cliente nos podemos conectar a un servidor para descargar archivos desde l o para enviarle nuestros propios archivos independientemente del sistema operativo utilizado en cada equipo. El Servicio FTP es ofrecido por la capa de Aplicacin del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema bsico de FTP es que est pensado para ofrecer la mxima velocidad en la conexin, pero no la mxima seguridad, ya que todo el intercambio de informacin, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningn tipo de cifrado, con lo que un posible atacante lo tiene muy fcil para capturar este trfico, acceder al servidor, o apropiarse de los archivos transferidos.
Desarrollo de Aplicaciones WEB 18

Servidor FTP Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su funcin es permitir el intercambio de datos entre diferentes servidores/ordenadores. Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizar el FTP para conectarse remotamente a uno y as intercambiar informacin con l. Las aplicaciones ms comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus pginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicacin FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).

Cliente FTP Cuando un navegador no est equipado con la funcin FTP, o si se quiere cargar archivos en un ordenador remoto, se necesitar utilizar un programa cliente FTP. Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos. Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra. Algunos clientes de FTP bsicos en modo consola vienen integrados en los sistemas operativos, incluyendo Windows, DOS, Linux y Unix. Sin embargo, hay disponibles clientes con opciones aadidas e interfaz grfica. Aunque muchos navegadores tienen ya integrado FTP, es ms confiable a la hora de conectarse con servidores FTP no annimos utilizar un programa cliente.

Modos de conexin del cliente FTP


Desarrollo de Aplicaciones WEB 19

FTP admite dos modos de conexin del cliente. Estos modos se denominan Activo (o Estndar, o PORT, debido a que el cliente enva comandos tipo PORT al servidor por el canal de control al establecer la conexin) y Pasivo (o PASV, porque en este caso enva comandos tipo PASV). Tanto en el modo Activo como en el modo Pasivo, el cliente establece una conexin con el servidor mediante el puerto 21, que establece el canal de control.

Modo Activo En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicndole ese nmero de puerto, de manera que el servidor pueda abrirle una conexin de datos por donde se transferirn los archivos y los listados, en el puerto especificado. Lo anterior tiene un grave problema de seguridad, y es que la mquina cliente debe estar dispuesta a aceptar cualquier conexin de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarn esas conexiones aleatorias. Para solucionar esto se desarroll el modo Pasivo.

Modo Pasivo Cuando el cliente enva un comando PASV sobre el canal de control, el servidor FTP abre un puerto efmero (cualquiera entre el 1024 y el 5000) e informa de ello al cliente FTP para que, de esta manera, sea el cliente quien conecte con ese puerto del servidor y as no sea necesario aceptar conexiones aleatorias inseguras para realizar la transferencia de datos. Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control (PORT o PASV, segn el modo en el que haya conectado), y el servidor recibir esa conexin de datos en un nuevo puerto aleatorio (si est en modo pasivo) o por el puerto 20 (si est en modo activo)

.
Desarrollo de Aplicaciones WEB 20

Desarrollo de Aplicaciones WEB

21

You might also like