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:
- debe ser un objeto invocable (generalmente una función o método)
- tomar dos parámetros:
- diccionario de variables de entorno (entorno) [2]
- controlador de solicitudes (start_response) [3]
- controlador de solicitud de llamada con código de respuesta HTTP y encabezados HTTP
- devolver objeto iterable con cuerpo de respuesta
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
- ↑ "WSGI, Introducción", Yuri Yurevich . Consultado el 15 de octubre de 2016. Archivado desde el original el 19 de octubre de 2016. (indefinido)
- ↑ variables de entorno . Consultado el 15 de octubre de 2016. Archivado desde el original el 7 de junio de 2020. (indefinido)
- ↑ inicio_respuesta . Consultado el 15 de octubre de 2016. Archivado desde el original el 7 de junio de 2020. (indefinido)
- ↑ Creación de middleware WSGI . Consultado el 15 de octubre de 2016. Archivado desde el original el 4 de mayo de 2017. (indefinido)
- ↑ Arquitectura técnica, Libro para desarrolladores (OpenERP) . Consultado el 10 de octubre de 2012. Archivado desde el original el 18 de octubre de 2012. (indefinido)
- ↑ 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. (indefinido)
- ↑ 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 .
Pitón |
---|
Comunidad |
|
---|
Implementaciones |
|
---|
Otro |
|
---|