Servidores web 6ciclo

3,057 views

Published on

Published in: Education
  • Be the first to comment

Servidores web 6ciclo

  1. 1. Servidores Web<br />
  2. 2. Un servidor web es un programa que está diseñado para transferir 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. El programa implementa el protocolo HTTP (HyperText Transfer Protocol) que pertenece a la capa de aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.<br />
  3. 3. Este uso dual puede llevar a confusión. Por ejemplo, en el caso de un servidor web, este término podría referirse a la máquina que almacena y maneja los sitios web, y en este sentido es utilizada por las compañías que ofrecen hosting o hospedaje. Alternativamente, el servidor web podría referirse al software, como el servidor de http de Apache, que funciona en la máquina y maneja la entrega de los componentes de los páginas web como respuesta a peticiones de los navegadores de los clientes.<br />
  4. 4. Los archivos para cada sitio de Internet se almacenan y se ejecutan en el servidor. Hay muchos servidores en Internet y muchos tipos de servidores, pero comparten la función común de proporcionar el acceso a los archivos y servicios.<br />Un servidor sirve información a los ordenadores que se conecten a él. Cuando los usuarios se conectan a un servidor pueden acceder a programas, archivos y otra información del servidor.<br />
  5. 5. En la web, un servidor web es un ordenador que usa el protocolo http para enviar páginas web al ordenador de un usuario cuando el usuario las solicita.<br />Los servidores web, servidores de correo y servidores de bases de datos son a lo que tiene acceso la mayoría de la gente al usar Internet.<br />Algunos servidores manejan solamente correo o solamente archivos, mientras que otros hacen más de un trabajo, ya que un mismo ordenador puede tener diferentes programas de servidor funcionando al mismo tiempo.<br />Los servidores se conectan a la red mediante una interfaz que puede ser una red verdadera o mediante conexión vía línea telefónica o digital.<br />
  6. 6.
  7. 7. Características<br />Cuando contratamos un servidor dedicado (o cualquier otro plan de hosting, pero especialmente un servidor dedicado), es muy importante elegir uno cuyas características de hardware cumplan con todos los requisitos que necesiten nuestros proyectos web.<br />
  8. 8. <ul><li>Procesador: Seguramente nos darán a elegir entre Intel o AMD, entre núcleo, doble núcleo, 4 núcleos, etc. Aquí sin ser un experto os recomendaría lo siguiente (por experiencia propia). Si vuestro servidor web no va a ser utilizado para vender hosting, ni vais a instalar VPS en él, puede bastar un modelo normalito, sin excesos.</li></ul>- Memoria RAM: Importante no quedarse corto. Cuando la RAM se agota, se tira de memoria virtual (disco duro) y se ralentiza todo, pudiendo incluso colapsar el servidor y provocar caída de servicios en el mismo. Opino que 1GB es lo mínimo, pero mejor 2GB para ir sueltos.<br />
  9. 9. <ul><li>Modelo de disco duro: nos indicará su velocidad y su rendimiento. Que no nos pongan un disco pelotero, preguntad marca y modelo, creedme que a veces dan gato por liebre.</li></ul>Hay más factores a tener en cuenta, pero para los que no somos expertos en hardware creo que con tener en cuenta estos es más que suficiente. Seguramente tendremos nuestro servidor alojado en un centro de datos, por lo que del mantenimiento se ocuparán ellos.<br />
  10. 10. Comparad planes de hosting en varios proveedores, comparad el precio de los servidores dedicados y comprobad aquel que ofrece mejor relación calidad-precio. Y mi recomendación final, contratad un servidor dedicado que podáis pagar mes a mes. Así, al menos durante los primeros meses, si no os convence, siempre podéis migraros a otro proveedor de hosting.<br />Actualización: con la proliferación de los servidores cloud para la mayoría de proyectos web es más recomendable contratar un servidor cloud que uno dedicado. Os animo a visitar la oferta disponible en mi empresa, donde podéis contratar servidores cloud desde 35€/mes totalmente administrados. Merece la pena echar un vistazo<br />
  11. 11. Funciones<br />Un servidor de aplicaciones es una tecnología básica que proporciona la infraestructura y servicios clave a las aplicaciones alojadas en un sistema. Entre los servicios habituales de un servidor de aplicaciones se incluyen los siguientes:<br />Agrupación de recursos (por ejemplo, agrupación de conexiones de base de datos y agrupación de objetos) <br />Administración de transacciones distribuida<br />Comunicación asincrónica de programa, normalmente a través de colas de mensajes <br />
  12. 12. Un modelo de activación de objetos oportuno<br />Interfaces de servicios Web XML automáticas para tener acceso a objetos de empresa <br />Servicios de detección de errores y estado de las aplicaciones <br />Seguridad integrada<br />
  13. 13. Tipos de servidores<br />Esta lista categoriza los diversos tipos de servidores del mercado actual:<br />Plataformas de Servidor (Server Platforms): Un término usado a menudo como sinónimo de sistema operativo, la plataforma es el hardware o software subyacentes para un sistema, es decir, el motor que dirige el servidor.<br />
  14. 14. Servidores de Aplicaciones (Application Servers):<br />Designados a veces como un tipo de middleware (software que conecta dos aplicaciones), los servidores de aplicaciones ocupan una gran parte del territorio entre los servidores de bases de datos y el usuario, y a menudo los conectan.<br />
  15. 15. Servidores de Audio/Video (Audio/Video Servers):<br />Los servidores de Audio/Video añaden capacidades multimedia a los sitios web permitiéndoles mostrar contenido multimedia en forma de flujo continuo (streaming) desde el servidor.<br />
  16. 16. Servidores de Chat (Chat Servers):<br />Los servidores de chat permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real.<br />
  17. 17. Servidores de Fax (Fax Servers):<br />Un servidor de fax es una solución ideal para organizaciones que tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax.<br />
  18. 18. Servidores FTP (FTP Servers):<br />Uno de los servicios más antiguos de Internet, File Transfer Protocol permite mover uno o más archivos Uno de los servicios más antiguos de Internet, Filo Transfer Protocol permite mover uno o más archivos con seguridad entre distintos ordenadores proporcionando seguridad y organización de los archivos así como control de la transferencia.<br />
  19. 19. La seguridad se ha convertido en un tema candente. Durante años, los servidores ftp comunicaban con los clientes "en abierto," es decir, que la información de la conexión y de la contraseña eran vulnerables a la interceptación. Ahora, los servidores ftp, tales como BulletProof FTP, SecureFTP, SurgeFTP, TitanFTP, y WS_FTP, soportan SSL/TLS y utilizan el mismo tipo de cifrado presente en los sitios web seguros. Con SSL/TLS, los servidores ftp pueden cifrar los comandos de control entre los clientes del ftp y el servidor, así como los datos del archivo. Con la ayuda del PGP, como en WS_FTP pro, los datos del archivo se aseguran todavía más con el cifrado público <br />
  20. 20. Servidores Groupware (Groupware Servers):<br />Un servidor groupware es un software diseñado para permitir colaborar a los usuarios, sin importar la localización, vía Internet o vía Intranet corporativo y trabajar juntos en una atmósfera virtual.<br />
  21. 21. Servidores IRC (IRC Servers):<br />Otra opción para usuarios que buscan la discusión en tiempo real, Internet Relay Chat consiste en varias redes de servidores separadas que permiten que los usuarios conecten el uno al otro vía una red IRC.<br />
  22. 22. Servidores de Listas (List Servers):<br />Los servidores de listas ofrecen una manera mejor de manejar listas de correo electrónico, bien sean discusiones interactivas abiertas al público o listas unidireccionales de anuncios, boletines de noticias o publicidad.<br />
  23. 23. Servidores de Correo (Mail Servers):<br />Casi tan ubicuos y cruciales como los servidores web, los servidores de correo mueven y almacenan el correoelectrónico a través de las redes corporativas (vía LANs y WANs) <br />
  24. 24. Servidores de Noticias (News Servers):<br />Los servidores de noticias actúan como fuente de distribución y entrega para los millares de grupos de noticias públicos actualmente accesibles a través de la red de noticias USENET.<br />
  25. 25. Servidores Proxy (Proxy Servers):<br />Los servidores proxy se sitúan entre un programa del cliente (típicamente un navegador) y un servidor externo (típicamente otro servidor web) para filtrar peticiones, mejorar el funcionamiento y compartir conexiones.<br />
  26. 26. Servidores Telnet (Telnet Servers):<br />Un servidor telnet permite a los usuarios entrar en un ordenador huésped y realizar tareas como si estuviera trabajando directamente en ese ordenador.<br />
  27. 27. Servidores Web (Web Servers):<br />Básicamente, un servidor web sirve contenido estático a un navegador, carga un archivo y lo sirve a través de la red al Se pueden utilizar varias tecnologías en el servidor para aumentar su potencia más allá de su capacidad de entregar páginas HTML; éstas incluyen scripts CGI, seguridad SSL y páginas activas del servidor (ASP).<br />
  28. 28. TIPOLOGIAS DE PAGINA WEB<br />
  29. 29. USO DE PAGINAS WEB<br />
  30. 30. CREACION Y DISEÑO WEB<br />
  31. 31. IIS<br />Internet Information Services o IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft 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.<br />
  32. 32. Este servicio convierte a una PC en un servidor web para Internet o una intranet, es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente.<br />Los servicios de Internet InformationServices proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor web seguro.<br />El servidor web se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas. Por ejemplo, Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl.<br />
  33. 33.
  34. 34. Características<br />Microsoft ha mejorado sustancialmente su software estrella en el campo de los servicios Web. Los avances vienen motivados sobre todo por la seguridad y el rendimiento, aunque todavía adolece de algunos agujeros de seguridad.<br />Las características agregadas en seguridad se aprovechan de las últimas tecnologías de cifrado y métodos de autenticación mediante certificados de cliente y servidor. Una de las formas que tiene IIS de asegurar los datos es mediante SSL (Secure Sockets Layer). Esto proporciona un método para transferir datos entre el cliente y el servidor de forma segura, permitiendo también que el servidor pueda comprobar al cliente antes de que inicie una sesión de usuario.<br />
  35. 35. Otra característica nueva es la autenticación implícita que permite a los administradores autenticar a los usuarios de forma segura a través de servidores de seguridad y proxy.<br />IIS 5.0 también es capaz de impedir que aquellos usuarios con direcciones IP conocidas obtengan acceso no autorizado al servidor, permitiendo especificar la información apropiada en una lista de restricciones.<br />
  36. 36. Volviendo de nuevo a la seguridad, IIS tiene integrado el protocolo Kerberos v5 (como le ocurre al sistema operativo). El almacenamiento de certificados se integra ahora con el almacenamiento CryptoAPI de Windows. Se puede utilizar el administrador de certificados de Windows para hacer una copia de seguridad, guardar y configurar los certificados.<br />Además, la administración de la seguridad del servidor IIS es una tarea fácilmente ejecutable a base de asistentes para la seguridad. Se pueden definir permisos de acceso en directorios virtuales e incluso en archivos, de forma que el asistente actualizará los permisos NTFS para reflejar los cambios. Si se trabaja con entidades emisoras de certificados, es posible gestionar la lista de certificados de confianza (CTL, Certificate Trust List) con el asistente para CTL.<br />
  37. 37. Apache<br />Lo primero de todo es decir que este artículo está basado en uno que escribí en Diciembre de 1997 y se publicó en Linux Actual. Me ha sorprendido lo poco que he tenido que tocarlo para actualizarlo y como Apache se ha consolido más aún de lo que estaba por aquellas fechas. Si el lector encuentra alguna errata u información incorrecta puede estaré encantado de que me corrija.<br />He introducido un apartado dedicado a Apache 2.0 que sin duda será el más interesante para los lectores que lean este artículo en la actualidad.<br />
  38. 38. El servidor web Apache es uno de los mayores triunfos del software libre. En Diciembre de 1997 tenía una cuota de mercado cercana al 45% y en la actualidad (Julio 2000) ya está por encima del 60%, según los estudios de Netcraft [3] que ya se han establecido como la referencia dentro del mercado de servidores web. Esta es la primera cifra que hace que cualquier responsable de la estrategia internet de una empresa tenga que tomar a Apache como el servidor de referencia.<br />
  39. 39. Apache era inicialmente unos parches al servidor que de WWW de NCSA conocido como httpd (principios de 1995). Al igual que GNU/Linux, fue un proyecto que atrajo a mucha gente por el gran interés de su objetivo: lograr el servidor web más rápido, más eficiente y con mayor funcionalidad desde el enfoque del software libre. Y ha sido un objetivo que como veremos, se ha logrado. Sólo hacían sobras en Apache ciertos aspectos de rendimiento, fundamentalmente por no utilizar hebras de ejecución. Este aspecto se va a solucionar en el próximo Apache 2.0, un nuevo paso de Apache.<br />
  40. 40. Con un enorme equipo de voluntarios a lo largo y ancho de toda la red, se han logrado estos objetivos, logrando batir a compañías comerciales de la talla de Microsoft y Netscape. Y no sólo se ha logrado batir a los servidores web de grandes compañías: se ha logrado atraer al todopoderoso IBM que está apoyando Apache tanto a nivel de soporte como de desarrollo. La incorporación de empresas al desarrollo de proyectos de software abierto es una característica que ha brotado en el año 2000. Otros ejemplos son Corel, Dell etc.<br />
  41. 41.
  42. 42. Características<br />Apache es un servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus características destacan: <br />Multiplataforma<br />Es un servidor de web conforme al protocolo HTTP/1.1<br />Modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes módulos de apoyo que proporciona, y con la API de programación de módulos, para el desarrollo de módulos específicos.<br />
  43. 43. Basado en hebras en la versión 2.0<br />Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solución de los mismos.<br />Se desarrolla de forma abierta<br />Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que destaca PHP, un lenguaje de programación del lado del servidor.<br />
  44. 44. Tomcat<br />Tomcat (también llamado Jakarta Tomcat o Apache Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems.<br />
  45. 45.
  46. 46. Características del producto<br />Tomcat 3.x (distribución inicial)<br />Implementado a partir de las especificaciones Servlet 2.2 y JSP 1.1 <br />Recarga de servlets <br />Funciones básicas HTTP <br />Tomcat 4.x<br />Implementado a partir de las especificaciones Servlet 2.3 y JSP 1.2 <br />Contenedor de servlets rediseñado como Catalina <br />Motor JSP rediseñado con Jasper <br />Conector Coyote <br />Java Management Extensions (JMX), JSP Y administración basada en Struts <br />
  47. 47. Tomcat 5.x<br />Implementado a partir de las especificaciones Servlet 2.4 y JSP 2.0 <br />Recolección de basura reducida <br />Capa envolvente nativa para Windows y Unix para la integración de las plataformas <br />Análisis rápido JSP <br />Tomcat 6.x<br />Implementado de Servlet 2.5 y JSP 2.1 <br />Soporte para Unified Expression Language 2.1 <br />Diseñado para funcionar en Java SE 5.0 y posteriores <br />Soporte para Comet a través de la interfaz CometProcessor <br />Tomcat 7.x<br />Implementado de Servlet 3.0 JSP 2.2 y EL 2.2 <br />Mejoras para detectar y prevenir "fugas de memoria" en las aplicaciones web <br />Limpieza interna de código <br />Soporte para la inclusión de contenidos externos directamente en una aplicación web <br />
  48. 48. Tipos<br />Las clases Permission se usan para definir que clases de Permisos tendrán las clases cargadas por Tomcat. Hay varias clases de Permission como parte del JDK e incluso podemos crear las nuestras propias para usarlar en nuestras aplicaciones web. <br />Este es sólo un pequeño sumario de las clases de System SecurityManager Permission aplicables a Tomcat. Puedes encontrar más documentación sobre el uso de las clases siguientes en la documentación del JDK. <br />
  49. 49. java.util.PropertyPermission<br />Controla los accesos de lectura/escritura a las propiedades de JVM como java.home. <br />java.lang.RuntimePermission<br />Controla el uso de algunas funciones de sistema/ejecución como exit() y exec(). <br />java.io.FilePermission<br />Controla los aceeso de lectura/escritura/ejecución a ficheros y directorios. <br />java.net.SocketPermission<br />Controla el uso de sockets de red. <br />
  50. 50. java.net.NetPermission<br />Controla el uso de conexiones de red multicast. <br />java.lang.reflect.ReflectPermission<br />Controla el uso de reflection para hacer introspection de clase. <br />java.security.SecurityPermission<br />Controla el acceso a los métodos de Security. <br />java.security.AllPermission<br />Permite acceder a todos los permisos, como si se estuviera ejecutando Tomcat sin un SecurityManager. <br />

×