Interfaz de puerta de enlace del servidor web


La interfaz de puerta de enlace del servidor web ( WSGI , pronunciado whisky [1] [2] o WIZ -ghee [3] ) es una convención de llamada simple para que los servidores web reenvíen solicitudes a aplicaciones web o marcos escritos en el lenguaje de programación Python . La versión actual de WSGI, la versión 1.0.1, se especifica en la Propuesta de mejora de Python (PEP) 3333. [4]

WSGI se especificó originalmente como PEP-333 en 2003. [5] PEP-3333, publicado en 2010, actualiza la especificación para Python 3 .

En 2003, los marcos web de Python generalmente se escribían solo con CGI , FastCGI , mod_python o alguna otra API personalizada de un servidor web específico . [6] Para citar PEP 333:

Python actualmente cuenta con una amplia variedad de marcos de aplicaciones web, como Zope, Quixote, Webware, SkunkWeb, PSO y Twisted Web, por nombrar solo algunos. Esta amplia variedad de opciones puede ser un problema para los nuevos usuarios de Python, porque en términos generales, su elección de marco web limitará su elección de servidores web utilizables, y viceversa... Por el contrario, aunque Java tiene tantos marcos de aplicaciones web disponible, la API de "servlet" de Java hace posible que las aplicaciones escritas con cualquier marco de aplicaciones web de Java se ejecuten en cualquier servidor web que admita la API de servlet.

Por lo tanto, WSGI se creó como una interfaz de implementación neutral entre servidores web y aplicaciones web o marcos para promover un terreno común para el desarrollo de aplicaciones web portátiles . [4]

Entre el servidor y la aplicación, puede haber uno o más componentes de middleware WSGI , que implementan ambos lados de la API, normalmente en código Python.