Python: servidores web

Python es lo suficientemente versátil como para crear muchos tipos de aplicaciones y programas que impulsan Internet u otras redes informáticas. Un aspecto importante de Internet son los servidores web que se encuentran en la raíz del modelo cliente-servidor. En este capítulo veremos algunos servidores web que se crean con lenguaje Python puro.

Gunicorn

Gunicorn es un servidor web independiente que tiene un proceso maestro central encargado de administrar los procesos de trabajo iniciados de diferentes tipos. Estos procesos de trabajo luego manejan y tratan las solicitudes directamente. Y todo esto se puede configurar y adaptar para satisfacer las diversas necesidades de los escenarios de producción.

Características importantes

  • Es compatible con WSGI y se puede utilizar con cualquier aplicación y marco WSGI que ejecute Python.
  • También se puede utilizar como reemplazo directo de Paster (por ejemplo: Pyramid), el servidor de desarrollo de Django, web2py, etc.
  • Ofrece la opción de varios tipos / configuraciones de trabajadores y gestión automática de procesos de trabajadores
  • Compatibilidad con HTTP / 1.0 y HTTP / 1.1 (Keep-Alive) a través de trabajadores sincrónicos y asincrónicos
  • Viene con soporte SSL
  • Extensible con ganchos

Servidor CherryPy WSGI

CherryPy es un marco web autónomo, ya que puede ejecutarse por sí solo sin la necesidad de software adicional. Tiene su propio servidor web compatible con WSGI, HTTP / 1.1. Como es un servidor WSGI, también se puede utilizar para servir cualquier otra aplicación WSGI Python, sin estar vinculado al marco de desarrollo de aplicaciones de CherryPy.

Características importantes

  • Puede ejecutar cualquier aplicación web de Python que se ejecute en WSGI.
  • Puede manejar archivos estáticos y solo se puede usar para servir archivos y carpetas solo.
  • Se agrupa en subprocesos.
  • Viene con soporte para SSL.
  • Es una alternativa de Python puro fácil de adaptar y usar, que es robusta y confiable.

Web retorcida

Es un servidor web que viene con la biblioteca de redes Twisted. Mientras que Twisted en sí es "un motor de red impulsado por eventos", el servidor web Twisted se ejecuta en WSGI y es capaz de alimentar otras aplicaciones web de Python.

Características importantes

  • Ejecuta aplicaciones WSGI Python
  • Puede actuar como un marco de trabajo de servidor web Python, lo que le permite programarlo con el lenguaje para propósitos de servicio HTTP personalizados
  • Ofrece una capacidad de creación de prototipos simple y rápida a través de Python Scrips (.rpy) que se ejecutan en solicitudes HTTP
  • Viene con capacidades de proxy y proxy inverso
  • Es compatible con hosts virtuales
  • • Incluso puede servir Perl, PHP, etc.