PresentacióN Servidores Web

22
Presentación Presentación Servidores Servidores Web Web Comercio Electrónico Aguirre Pedroza Daniel Balderas Acatitla Nallely Sierra Cruz Daniel Secuencia 7CM1

Transcript of PresentacióN Servidores Web

Page 1: PresentacióN Servidores Web

PresentaciónPresentación Servidores Web Servidores WebComercio Electrónico

Aguirre Pedroza DanielBalderas Acatitla NallelySierra Cruz Daniel

Secuencia 7CM1

Page 2: PresentacióN Servidores Web

Agenda de Presentación• Definición de Servidor Web• Características• Apache• Cherokee• IIS• Otras Alternativas• Cuadro Comparativo y Benchmarking

Page 3: PresentacióN Servidores Web

Definición de Servidor Web

• SERVIDOR

• En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras denominadas clientes.

• Un servidor web es un programa que implementa el protocolo HTTP (hypertext transfer protocol). Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (hypertext markup language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música.

• Es un programa que se ejecuta continuamente en un ordenador (también se emplea el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error.

Page 4: PresentacióN Servidores Web

Definición de Servidor Web

• Un servidor web se mantiene a la espera de peticiones HTTP por parte de un cliente HTTP que solemos conocer como navegador. El cliente realiza una petición al servidor y éste le responde con el contenido que el cliente solicita.

Page 5: PresentacióN Servidores Web

Características• Un ejemplo muy claro es cuando al navegar desde nuestra computadora

por la red accedemos a través del explorador de internet e insertamos una dirección web. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.

• Sobre el servicio web clásico podemos disponer de aplicaciones web. Éstas son porciones de código que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP.

Page 6: PresentacióN Servidores Web

Características• El funcionamiento básicamente consiste en ejecutar Aplicaciones en el lado del cliente: el cliente

web es el encargado de ejecutarlas en la máquina del usuario. Son las aplicaciones tipo Java o Javascript: el servidor proporciona el código de las aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas scripts). Comúnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript y java, aunque pueden añadirse más lenguajes mediante el uso de plugins.

• Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación; ésta, una vez ejecutada, genera cierto código HTML; el servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP.

• Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. La razón es que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita ninguna capacidad añadida, como sí ocurre en el caso de querer ejecutar aplicaciones javascript o java. Así pues, cualquier cliente dotado de un navegador web básico puede utilizar este tipo de aplicaciones.

• Algunos conceptos relacionados con las aplicaciones web son:• PHP• ASP• Perl• CGI• .NET• JSP (Tecnología Java )

Page 7: PresentacióN Servidores Web

APACHECaracterísticas•Hoy en día, el servidor Web Apache es el servidor más usado de Internet, con una utilización del 65% aproximadamente.•La primera aparición de Apache fue en Abril de 1995. Este servidor se sigue desarrollando “en Internet” como un proyecto de Software libre.•Las principales metas de su diseño son: velocidad, simplicidad, multiplataforma y facilidad del desarrollo distribuido.•Todo el código de fuente de Apache está escrito en C.•Es un servidor basados en procesos, utilizando la técnica pre-fork.

Ventajas•Modular•Open source•Multi-plataforma•Extensible•Popular (facil conseguir ayuda/soporte)

Page 8: PresentacióN Servidores Web
Page 9: PresentacióN Servidores Web

1. La recepción de una petición comienza en el subsistema core (base). Este subsistema está siempre esperando peticiones entrantes. Una vez que la petición es recibida, el subsistema construye a partir de la petición original, una petición especial para que pueda ser manejada por el resto de subsistemas.

2. El siguiente subsistema determina la localización local del recurso solicitado, es decir, traduce por ejemplo http://www.midominio.com/index.html a /var/www/web1/index.html.

3. Después, los subsistemas de autentificación y autorización comprueban si el cliente que solicita el recurso necesita ser autentificado.

4. El subsistema MIME* determina el tipo del recurso solicitado.5. La respuesta para la petición especial creada por el primer subsistema se genera en el

subsistema de respuesta.6. Finalmente, se registra la petición y el subsistema core envía la respuesta al navegador o cliente.

Es importante saber que, si cualquiera de los subsistemas encuentran un error durante la generación de una respuesta, el error se registra en la petición especial (creada en el primer subsistema) y, la estructura continúa siendo pasada de un subsistema a otro.

Page 10: PresentacióN Servidores Web

Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz grafica que ayude en su configuración.

La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan solo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como modulo de Apache.

Page 11: PresentacióN Servidores Web

Servidor HTTP CherokeeCaracterísticas•Es software libre, publicado bajo la licencia GPL (General Public License).•Escrito en C•Es un proyecto que desarrolla una nueva implementación de este tipo de aplicaciones.•El fin último de Cherokee es hacer un servidor con unas características de las que Apache carece debido a su diseño original.•Su diseño es un híbrido que combina las características de servidores basados en sockets no bloqueantes con las de servidores basado en hilos, en busca de obtener beneficios de ambos modelos y minimizar los aspectos negativos.•Básicamente, su funcionamiento es el de un servidor que procesa varias peticiones en cada uno de sus hilos. Estos hilos ni se crean ni se destruyen, se generan cuando arranca el servidor y permanecen vivos hasta que termina su ejecución.•En su implementación, se ha puesto especial interés en la velocidad, flexibilidad y capacidad de ser empotrado.•Puede ejecutar CGI, PHP tanto como PHPCGI o FastCGI. También soporta registro y autenticación de usuarios

Page 12: PresentacióN Servidores Web

Flexibilidad: Cherokee, igual que Apache, dispone de un sistema para la carga dinámica de módulos basado en plug-ins, tanto para manejadores (handlers) como para codificadores (encoders) y sistema de logging.Capacidad de ser empotrado dentro de otras aplicaciones. Todo el código se encuentra en una librería dinámica (libcherokee) que puede utilizar cualquier aplicación. El API de esta librería es muy sencillo; básicamente permite crear, configurar y ejecutar diferentes formas objetos “servidor”.Al igual que Apache, Cherokee escala a servidores SMP (Symetric Multi-Processing. Sistemas con varios procesadores) y a sistemas multihilo. Es capaz de manejar más de un hilo y en cada uno de ellos, de nuevo, volver a procesar conexiones mediante compartición de tiempo.Los métodos de registro son:•NCSA•W3C•Combinado.Métodos de Autenticación:•plain•htpasswd•htdigest•PAMCherokee puede también realizar redirecciones y soporta la configuración de Servidores Virtuales

Page 13: PresentacióN Servidores Web

Arquitectura

Hay tres grupos de módulos cargables: handlers, encoders y validators.Handlers. Son manejadores de peticiones. Cuando el servidor procesa una petición, decide que clase de manejador debe utilizar. Dependiendo del módulo, la respuesta será una u otra.Tipos de manejadores: files (servir ficheros al cliente), redir (redireccionar peticiones), Cgi’s, etc.

Encoders. Módulos que implementan una funcionalidad de conversión de la información que se puede enviar a los clientes si estos lo soportan. Cherokee puede enviar ciertos elementos de una página Web comprimidos para dotar de mayor rapidez de respuesta. El encoder más útil es el de GZip (explicar)

Validators. Módulos que implementan posibles formas de validar al usuario. Actualmente se puede validar con LDAP(no incluida en Cherokee por defecto), PAM y htpasswd.

Page 14: PresentacióN Servidores Web
Page 15: PresentacióN Servidores Web

IIS Internet Information Services• Internet Information Server , IIS, es una serie de servicios para los

ordenadores que funcionan con Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS.

Page 16: PresentacióN Servidores Web

IIS Internet Information Services• Requerimientos esenciales para ISS

• Microsoft Web Platform Installer

• Microsoft Web Platform Installer es una simple instalador online para instalar las siguientes herramientas:

• IIS 7.0• Visual Web Developer 2008 Express Edition• SQL Server 2008 Express Edition• Microsoft .NET Framework• Silverlight Tools para Visual Studio

Page 17: PresentacióN Servidores Web

Otras Alternativas• THTTPD

• Thttpd es un servidor web de código libre disponible para la mayoría de las variantes de Unix. Se caracteriza por ser simple, pequeño, portátil, rápido, y seguro, ya que utiliza los requerimientos mínimos de un servidor HTTP. Esto lo hace ideal para servir grandes volúmenes de información estática.

LIGHTTPD

• lighttpd es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares.

• Está optimizado para entornos donde la velocidad es muy importante, y por eso consume menos CPU y memoria RAM que otros servidores. Por todo lo que ofrece, lighttpd es apropiado para cualquier servidor que tenga problemas de carga.

• lighttpd es software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux y UNIX de forma oficial. Para Microsoft Windows actualmente hay una distribución conocida como Lighttpd For Windows.

• (http://www.kevinworthington.com:8181/?p=85) mantenida por Kevin Worthington.

Page 18: PresentacióN Servidores Web

Cuadro Comparativo y Benchmarking

Page 19: PresentacióN Servidores Web

Cuadro Comparativo y Benchmarking

VS

Apache

Cherokee

Page 20: PresentacióN Servidores Web

Cuadro Comparativo y Benchmarking

ISS

Page 21: PresentacióN Servidores Web

Cuadro Comparativo y Benchmarking

Cuadro Comparativo de Benchmarking Características y Tamaños de los Servidores Web

Page 22: PresentacióN Servidores Web

Cuadro Comparativo y Benchmarking