图解WSGI,uWSGI,(u)wsgi的区别

Preliminary

  • uWSGI是一个Web服务器,它实现了WSGI协议、FastCgi、uwsgi、http等协议(nginx也支持的协议)。 Nginx中 HttpUwsgiModule的作用是与uWSGI服务器进行交互。
  • uwsgi协议<服务器和服务端应用程序的通信协议,规定了怎么把请求转发给应用程序和返回响应>:它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述
  • Gunicorn 是实现WSGI和HTTP协议的服务器
  • Nginx出现的原因:当访问量比较大时,客户端连接需要进行长时间等待,这时候出现分布式服务器,然后Nginx用来分配客户端的请求连接由哪些web 服务器处理
  • 网关的作用就是在协议之间进行转换

wsgi server 和wsgi application,WSGI之间的互动

wsgi server 要和 wsgi application交互,前者需要将请求转发给wsgi application处理,那么uWSGI 和 wsgi application的交互和调用就需要一个统一的规范,这个规范就是WSGI(Web Server Gateway Interface)

馊主意

全小写是线路协议, 常用于在uWSGI服务器与其他网络服务器的数据通信。eg. <u>wsgi
全大写是通信协议。eg. WSGI
第一个字母小写,其余全大写是web 服务器。 eg.uWSGI,实现了uwsgi 和WSGI协议

图解

在这里插入图片描述
在这里插入图片描述

拓展知识(web服务器的分类和职责)

  • 严格意义上,Web服务器<主要处理静态页面以及作为Servlet容器,解释和执行servlet/JSP>只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI等接口交给应用服务器<主要运行业务逻辑,如EJB、JNDI和JMX等J2EE API,还包含事物管理、数据库连接等功能。>处理。

  • 比如Web服务器包括Nginx,Apache,IIS等。而应用服务器包括WebLogic,JBoss等。应用服务器一般也支持HTTP协议,但是应用服务器的HTTP协议部分仅仅是支持,一般不会做特别优化,所以很少有见Tomcat直接暴露给外面<直接处理任意请求,包括动态内容和静态内容>,而是和Nginx、Apache等配合,只让Tomcat处理JSP和Servlet部分

  • Apache和Nginx是纯粹的Web服务器,而IIS和Tomcat因为具有了解释和执行服务器端代码的能力,可以称作为轻量级应用服务器。JBoss、Weblogic和WebSphere因为能提供强大的J2EE API功能,毫无疑问是绝对的应用服务器。

巨人的肩膀

uWSGI、WSGI和uwsgi - Dus - 博客园
Gunicorn 和WSGI指北1
Gunicorn 和WSGI指北2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值