Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
168
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Unidad II Desarrollo de aplicaciones web2. Instalación del servidorConceptos básicos del servidor webUn servidor web es un programa que atiende y responde a las diversaspeticiones de los navegadores, proporcionándoles los recursosque solicitan mediante el protocolo HTTP o el protocolo HTTPS (laversión segura, cifrada y autenticada de HTTP). Un servidor web básicotiene un esquema de funcionamiento muy sencillo, ejecutandode forma infinita el bucle siguiente:1. Espera peticiones en el puerto TCP asignado (el estándar paraHTTP es el 80).2. Recibe una petición.3. Busca el recurso en la cadena de petición.4. Envía el recurso por la misma conexión por donde ha recibido lapetición.5. Vuelve al punto 2.Un servidor web que siguiese el esquema anterior cumpliría los requisitosbásicos de los servidores HTTP, aunque, eso sí, sólo podríaservir ficheros estáticos.A partir del esquema anterior se han diseñado y construido todos losprogramas servidores de HTTP que existen, variando sólo el tipo depeticiones (páginas estáticas, CGI, Servlets, etc.) que pueden atender,en función de que sean o no multi-proceso, multi-hilados, etc. A continuacióndetallaremos algunas de las características principales de losservidores web, que extienden, obviamente el esquema anterior.. Servicio de ficheros estáticosTodos los servidores web deben incluir, como mínimo, la capacidadpara servir los ficheros estáticos que se encuentren en alguna parteOC •XP04/90791/00021concreta del disco. Un requisito imprescindible es la capacidad deespecificar qué parte del disco se servirá. No resulta en absoluto recomendableque el servidor nos obligue a usar un directorio concreto,si bien puede tener uno por defecto.La mayoría de servidores web permiten, además, añadir otros directoriospara servir, especificando en qué punto del “sistema de ficheros”virtual del servidor se ubicarán.Algunos servidores web permiten, además, especificar directivas deseguridad (para qué direcciones, usuarios, etc., está visible un directorio,etc.), mientras que otros hacen posible especificar qué ficherosse considerarán como índice del directorio.
  • 2. Unidad II Desarrollo de aplicaciones webSeguridad y autenticaciónLa mayoría de los servidores web modernos nos permiten controlardesde el programa servidor aquellos aspectos relacionados con laseguridad y la autenticación de los usuarios.EjemploPor ejemplo, podemos tener la siguiente situación:En este caso, el servidor debería traducir las siguientesdirecciones web de la siguiente manera:Directorio del disco Directorio web/home/apache/html/home/empresa/docs/home/jose/informe//docs/informe-2003URL Fichero de disco/index.html /home/apache/html/index.html/docs/manuales/producto.pdf /home/empresa/docs/manuales/producto.pdf/empresa/quienes.html /home/apache/html/empresa/quienes.html/informe-2003/index.html /home/jose/informe/index.htmlEl modo más simple de control es el proporcionado por el uso de ficheros.htaccess. Éste es un sistema de seguridad que proviene deuno de los primeros servidores web (del NCSA httpd), que consisteen poner un fichero de nombre .htaccess en cualquier directorio delcontenido web que se vaya a servir, indicando en este fichero quéusuarios, máquinas, etc., tienen acceso a los ficheros y subdirectoriosdel directorio donde está el fichero. Como el servidor de NCSA fueel servidor más usado durante mucho tiempo, la mayoría de servidoresmodernos permiten utilizar el fichero .htaccess respetando la sintaxisdel servidor de NCSA.El servidor ApacheApache es un servidor web de código libre robusto cuya implementaciónse realiza de forma colaborativa, con prestaciones y funcionalidadesequivalentes a las de los servidores comerciales. El proyectoestá dirigido y controlado por un grupo de voluntarios de todo elmundo que, usando Internet y la web para comunicarse, planificany desarrollan el servidor y la documentación relacionada.Estos voluntarios se conocen como el Apache Group. Además delApache Group, cientos de personas han contribuido al proyecto con
  • 3. Unidad II Desarrollo de aplicaciones webcódigo, ideas y documentación.. El nacimiento de ApacheEn febrero de 1995, el servidor web más popular de Internet era unservidor de dominio público desarrollado en el NCSA (National Center forSupercomputing Applications en la Universidad de Illinois). No obstante,al dejar Rob McCool (el principal desarrollador del servidor) laresto al motor de ejecución de Servlets (los Servlets y losJSP son mecanismos de desarrollo de aplicacionesweb), pero a pesar de incluir un servidor web, Apachees el servidor web usado por excelencia con Tomcat.Para ello disponemos de un módulo de Apache querealiza el enlace con Tomcat. Dicho módulo se denominamod_jk2.NCSA en 1994, la evolución de dicho programa había quedado prácticamentereducida a la nada. El desarrollo pasó a manos de los responsablesde sitios web, que progresivamente introdujeron mejoras ensus servidores. Un grupo de éstos, usando el correo electrónico comoherramienta básica de coordinación, se puso de acuerdo en poner encomún estas mejoras (en forma de “parches”, patches). Dos de estosdesarrolladores, Brian Behlendorf y Cliff Skolnick, pusieron en marchauna lista de correo, un espacio de información compartida y un servidoren California donde los desarrolladores principales pudiesen trabajar.A principios del año siguiente, ocho programadores formaronlo que sería el Grupo Apache.Éstos, usando el servidor NCSA 1.3 como base de trabajo, añadierontodas las correcciones de errores publicadas y las mejoras más valiosasque encontraron y probaron el resultado en sus propios servidores. Posteriormentepublicaron lo que sería la primera versión oficial del servidor. AOLServerEl servidor web AOLServer es el servidor web de código libre desarrolladopor AOL (América Online, el proveedor de Internet más importantedel mundo). AOL utiliza AOLServer como servidorprincipal de web para uno de los entornos web de mayor tráfico yuso de Internet. AOLServer es un servidor web multi-hebra, basadoen TCL, y con muchas facilidades de uso en entornos de gran escalay sitios web dinámicos. Cabe destacar que todos los dominios y servidoresweb de AOL, más de doscientos, que soportan miles de usuarios,millones de conexiones, etc., funcionan gracias a AOLServer.AOLServer tiene una amplia base de usuarios, gracias sobre todo asu integración con OpenACS, un sistema de gestión de contenidosmuy potente, de código libre, desarrollado inicialmente por una empresallamada ArsDigita y posteriormente liberado bajo licencia GPL.