PresentacióN Servidores Web

11,300 views

Published on

Published in: Business
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
11,300
On SlideShare
0
From Embeds
0
Number of Embeds
1,658
Actions
Shares
0
Downloads
508
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

PresentacióN Servidores Web

  1. 1. Presentación Servidores Web Comercio Electrónico Aguirre Pedroza Daniel Balderas Acatitla Nallely Sierra Cruz Daniel Secuencia 7CM1
  2. 2. Agenda de Presentación <ul><li>Definición de Servidor Web </li></ul><ul><li>Características </li></ul><ul><li>Apache </li></ul><ul><li>Cherokee </li></ul><ul><li>IIS </li></ul><ul><li>Otras Alternativas </li></ul><ul><li>Cuadro Comparativo y Benchmarking </li></ul>
  3. 3. Definición de Servidor Web <ul><li>SERVIDOR </li></ul><ul><li>En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras denominadas clientes. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
  4. 4. Definición de Servidor Web <ul><li>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. </li></ul>
  5. 5. Características <ul><li>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. </li></ul><ul><li>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. </li></ul>
  6. 6. Características <ul><li>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 plugin s. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Algunos conceptos relacionados con las aplicaciones web son: </li></ul><ul><li>PHP </li></ul><ul><li>ASP </li></ul><ul><li>Perl </li></ul><ul><li>CGI </li></ul><ul><li>.NET </li></ul><ul><li>JSP (Tecnología Java ) </li></ul>
  7. 7. APACHE <ul><li>Características </li></ul><ul><li>Hoy en día, el servidor Web Apache es el servidor más usado de Internet, con una utilización del 65% aproximadamente. </li></ul><ul><li>La primera aparición de Apache fue en Abril de 1995. Este servidor se sigue desarrollando “en Internet” como un proyecto de Software libre. </li></ul><ul><li>Las principales metas de su diseño son: velocidad, simplicidad, multiplataforma y facilidad del desarrollo distribuido. </li></ul><ul><li>Todo el código de fuente de Apache está escrito en C. </li></ul><ul><li>Es un servidor basados en procesos, utilizando la técnica pre-fork. </li></ul><ul><li>Ventajas </li></ul><ul><li>Modular </li></ul><ul><li>Open source </li></ul><ul><li>Multi-plataforma </li></ul><ul><li>Extensible </li></ul><ul><li>Popular (facil conseguir ayuda/soporte) </li></ul>
  8. 9. <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Después, los subsistemas de autentificación y autorización comprueban si el cliente que solicita el recurso necesita ser autentificado. </li></ul><ul><li>El subsistema MIME* determina el tipo del recurso solicitado. </li></ul><ul><li>La respuesta para la petición especial creada por el primer subsistema se genera en el subsistema de respuesta. </li></ul><ul><li>Finalmente, se registra la petición y el subsistema core envía la respuesta al navegador o cliente. </li></ul><ul><li>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. </li></ul>
  9. 10. 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.
  10. 11. Servidor HTTP Cherokee <ul><li>Características </li></ul><ul><li>Es software libre, publicado bajo la licencia GPL (General Public License). </li></ul><ul><li>Escrito en C </li></ul><ul><li>Es un proyecto que desarrolla una nueva implementación de este tipo de aplicaciones. </li></ul><ul><li>El fin último de Cherokee es hacer un servidor con unas características de las que Apache carece debido a su diseño original. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>En su implementación, se ha puesto especial interés en la velocidad, flexibilidad y capacidad de ser empotrado. </li></ul><ul><li>Puede ejecutar CGI, PHP tanto como PHPCGI o FastCGI. También soporta registro y autenticación de usuarios </li></ul>
  11. 12. <ul><li>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. </li></ul><ul><li>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”. </li></ul><ul><li>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. </li></ul><ul><li>Los métodos de registro son: </li></ul><ul><li>NCSA </li></ul><ul><li>W3C </li></ul><ul><li>Combinado. </li></ul><ul><li>Métodos de Autenticación: </li></ul><ul><li>plain </li></ul><ul><li>htpasswd </li></ul><ul><li>htdigest </li></ul><ul><li>PAM </li></ul><ul><li>Cherokee puede también realizar redirecciones y soporta la configuración de Servidores Virtuales </li></ul>
  12. 13. 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.
  13. 15. IIS Internet Information Services <ul><li>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. </li></ul>
  14. 16. IIS Internet Information Services <ul><li>Requerimientos esenciales para ISS </li></ul><ul><li>Microsoft Web Platform Installer </li></ul><ul><li>Microsoft Web Platform Installer es una simple instalador online para instalar las siguientes herramientas: </li></ul><ul><li>IIS 7.0 </li></ul><ul><li>Visual Web Developer 2008 Express Edition </li></ul><ul><li>SQL Server 2008 Express Edition </li></ul><ul><li>Microsoft .NET Framework </li></ul><ul><li>Silverlight Tools para Visual Studio </li></ul>
  15. 17. Otras Alternativas <ul><li>THTTPD </li></ul><ul><li>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. </li></ul><ul><li>LIGHTTPD </li></ul><ul><li>lighttpd es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>(http://www.kevinworthington.com:8181/?p=85) mantenida por Kevin Worthington. </li></ul>
  16. 18. Cuadro Comparativo y Benchmarking
  17. 19. Cuadro Comparativo y Benchmarking VS Apache Cherokee
  18. 20. Cuadro Comparativo y Benchmarking ISS
  19. 21. Cuadro Comparativo y Benchmarking Cuadro Comparativo de Benchmarking Características y Tamaños de los Servidores Web
  20. 22. Cuadro Comparativo y Benchmarking

×