WSGI

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 8 de noviembre de 2015; las comprobaciones requieren 29 ediciones .

WSGI ( Web Server Gateway Interface ) es un  estándar para la interacción entre un programa de Python que se ejecuta en el lado del servidor y el propio servidor web [1] , como Apache .

Idea

En Python, hay una gran cantidad de diferentes tipos de marcos web (frameworks), kits de herramientas y bibliotecas. Cada uno de ellos tiene su propio método de instalación y configuración, no saben cómo interactuar entre sí. Esto puede ser difícil para aquellos que recién comienzan a aprender Python, ya que, por ejemplo, elegir un marco en particular puede limitar la elección de un servidor web y viceversa.

WSGI proporciona una interfaz simple y versátil entre la mayoría de los servidores web y las aplicaciones o marcos web.

Especificaciones

De acuerdo con el estándar, una aplicación WSGI debe cumplir con los siguientes requisitos:

El ejemplo más simple de una aplicación WSGI sería esta función de generador :

def application ( entorno , start_response ): start_response ( '200 OK' , [( 'Content-Type' , 'text/plain' )]) yield b '¡Hola mundo! \n '

Programa intermedio

Además de aplicaciones y servidores, el estándar define componentes de middleware que proporcionan interfaces tanto para la aplicación como para el servidor. Es decir, para un servidor, el middleware es una aplicación y para una aplicación, es un servidor. Esto le permite crear "cadenas" de middleware compatible con WSGI. El middleware es un contenedor simple sobre el objeto de la aplicación, se puede implementar a través de un cierre. [cuatro]

El middleware puede asumir las siguientes funciones (pero no se limita a):

Compatible con WSGI

Finalizar aplicaciones

Frameworks web y servidores de aplicaciones

Bibliotecas

  • Python Paste es una biblioteca de componentes para trabajar con aplicaciones WSGI

Análogos

  • Rack  es un enfoque similar implementado para Ruby [6] ;
  • JSGI  - para JavaScript [7] ;
  • PSGI  es para Perl .
  • ASGI es el sucesor espiritual de WSGI, agregando soporte para aplicaciones asincrónicas.

Véase también

Notas

  1. "WSGI, Introducción", Yuri Yurevich . Consultado el 15 de octubre de 2016. Archivado desde el original el 19 de octubre de 2016.
  2. variables de entorno . Consultado el 15 de octubre de 2016. Archivado desde el original el 7 de junio de 2020.
  3. inicio_respuesta . Consultado el 15 de octubre de 2016. Archivado desde el original el 7 de junio de 2020.
  4. Creación de middleware WSGI . Consultado el 15 de octubre de 2016. Archivado desde el original el 4 de mayo de 2017.
  5. Arquitectura técnica, Libro para desarrolladores (OpenERP) . Consultado el 10 de octubre de 2012. Archivado desde el original el 18 de octubre de 2012.
  6. Yehuda Katz, Rack como figura transformadora, 2009 . Fecha de acceso: 31 de octubre de 2012. Archivado desde el original el 27 de febrero de 2012.
  7. JSGI & Jack Archivado el 17 de diciembre de 2014.

Enlaces

  • PEP 3333  - Propuesta de mejora de Python que define un estándar de interfaz
  • wsgi.org - la mayor wiki WSGI

Literatura

  • James Gardner. La guía definitiva de los pilones. - Apress, 2008. - 568 p. - Pág. 369-388. — ISBN 9781590599341 .