CGI, FastCGI, WSGI, uWSGI, uwsgi
CGI、FastCGI、WSGI、uWSGI、uwsgi,分别是啥?
参考: http://www.liuqingzheng.top/article/1/05-CGI,FastCGI,WSGI,uWSGI,uwsgi一文搞懂/
来源
为了解决Web服务器与应用程序之间的交互问题,就出现了Web服务器与应用程序之间交互的规范。
最早出现的是通用的CGI,后来又出现了改进CGI性能的FastCGI,
Java的 Servlet规范、Python的WSGI规范。
# python web项目的访问
客户端 <--> Nginx <--> uWSGI <--> Python应用程序(Django, Flask)
名词解释
# -CGI、FastCGI、WSGI、uWSGI、uwsgi,分别是啥?
-CGI: # 浏览器通用的网关协议
通用网关接口 是定义了客户端与服务器之间如何传数据的一个标准
-FastCGI: # 浏览器通用的网关协议 CGI的升级版
快速通用网关接口,CGI的升级版
使用FastCGI的服务器
-Apache # 老牌
-Nginx # 主流
-IIS # Windows
-WSGI: # python的网关协议
Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)
是为Python语言定义的 Web服务器 和 Web应用程序或框架 之间通信的一种规范。
自从WSGI被开发出来以后,许多其它语言中也出现了类似接口
一句话总结:为Python定义的web服务器和web框架之间的通信接口标准
所有python的web框架 都必须遵守WSGI协议
-uWSGI: # Python的web服务器
实现了WSGI通信规范和uwsgi协议 的web服务器(类似:wsgiref,werkzeug等测试web服务器)
一个Web Server,即一个实现了WSGI协议的服务器,大体和Apache是一个类型的东西,处理发来的请求
-uwsgi: # uWSGI自有的协议
它是uWSGI服务器实现的独有协议,用于定义传输信息的类型,是用于前端服务器(nginx) 与 uWSGI服务器 的通信规范