El paso a paso o código que encontrarás en este artículo es la resolución más rápida y válida que encontramos a esta duda o problema.
Solución:
Correcto, WSGI es una definición de API programática de Python y FASTCGI es una definición de protocolo de cable de enchufe independiente del lenguaje. Efectivamente, están en diferentes capas, siendo WSGI una capa más alta. En otras palabras, uno puede implementar WSGI encima de algo que casualmente usa FASTCGI para comunicarse con un servidor web, pero no al revés.
En general, el hecho de que FASTCGI sea un protocolo de cable de conexión significa que siempre necesita algún tipo de interfaz de programación en la parte superior para usarlo. Para Python, una de esas opciones es WSGI. Como FASTCGI es solo un medio para un fin, no se puede comparar realmente su rendimiento con WSGI en ese caso porque WSGI no es un protocolo de conexión por cable comparable, sino un usuario de FASTCGI.
Se podría probar y comparar el rendimiento de diferentes interfaces de lenguaje además de FASTCGI, pero en general eso no tiene sentido en sí mismo, ya que la capa de red inferior y el manejo de solicitudes del servidor no son el cuello de botella. En su lugar, su código de aplicación y base de datos serán.
Son dos cosas diferentes. WSGI es una interfaz específica de Python para escribir aplicaciones web. Hay contenedores para cualquier protocolo de servidor web para proporcionar la interfaz WSGI. FastCGI (FCGI) es uno de esos protocolos de servidor web. Entonces, WSGI es una capa de abstracción, mientras que CGI / FastCGI / mod_python son cómo los servidores web reales se comunican con la aplicación. Algún código tiene que traducir la interfaz nativa a WSGI (hay un módulo CGI en wsgiref
hay flup
para FastCGI, etc.). También hay mod_wsgi
para Apache, que hace la traducción directamente en un módulo de Apache, por lo que no necesita ningún envoltorio de Python.
No se te olvide dar visibilidad a esta sección si te ayudó.