WSGI、uwsgi和uWSGI

一、WSGI

     WSGI ( Web Server Gateway Interface )是一个网络服务器和网络应用的通用接口的规范或者用于Python框架。

     由于python开发人员在网络框架的选择限制了网络服务器的选择是python 网络框架的问题。Python应用经常设计只用在 CGI、FastCGI和一些客户API的其中一个上面。

     WSGI则用来解决这样的矛盾。它构造一个网络服务器和网络客户端间底层或者框架的接口,使得更多应用可以广泛使用。在WSGI规范上编写的应用可以在任何使用WSGI规范的服务器上使用。

     WSGI 应用可以堆积。那些在堆积中的中间称为中间件,必须在WSGI接口的两端应用和服务器执行。

     WSGI服务器只接收来自于客服端的请求并将请求传给应用,然后应用再把响应发给客服端。

     学习用WSGI规范创建应用并不重要。使用中间件只需要理解如何与应用或者框架一起使用,除了没有中间件的情况才需要学习WSGI规范创建应用。

  

二、uwsgi

     uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西

      

三、uWSGI 

     uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

 

四、WSGI、uwsgi和uWSGI区别(摘自baidu)

  • WSGI是一种通信协议。
  • uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。
  • 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。

 

 

  

   

posted @ 2018-03-11 11:47  抽象Java  阅读(322)  评论(0编辑  收藏  举报