美文网首页
Web服务器,WSGI,Web框架之间的关系

Web服务器,WSGI,Web框架之间的关系

作者: 盛夏凉风 | 来源:发表于2019-03-19 16:03 被阅读0次

转做后端一段时间,之前没搞明白这几样东西的关系,查阅相关文档资料之后,作出以下总结。

客户端发送请求到服务器返回数据的流程

Web服务器

我这里用了Nginx,首先介绍一下Nginx可作为HTTP、邮件、TCP/UDP的代理服务器,Nginx可以作为正向,反向代理。而在这里,Nginx作用为区分静态资源和动态请求,反向代理将请求转发给WSGI服务器。什么是正反向代理,如下图

左边是正向代理,右边为反向代理

左图是正向代理,例子是我们搭建的VPN,里面VPS作为代理解密并转发了客户端的加密数据。右图是反向代理,假设访问www.xxx.com/资源1的时候,中间代理层去把资源1取回来返回给客户端,这是在客户端不需作额外工作且不知情的情况下完成的。我们Nginx作为Web代理服务器时就是使用了右边的流程,在我的项目里Nginx将请求转发给WSGI服务器,在将取得的数据返回给客户端。

只是自己搭一个小后台项目的话,Nginx并不是必需的,只要你API符合WSGI协议就可以访问,这里用Nginx的意义在于可以快速访问静态资源、内部由多部服务器组成集群,外部用一个地址访问,Nginx实现负载均衡等功能。

WSGI

首先搞明白几个名词

WSGI的全称是Web Server Gateway Interface(Web服务器网关接口),是一套协议规范。

uWSGI则是一个WSGI容器,它实现了WSGI、uwsgi、http等协议。WSGI容器可以有多种选择,uWSGI、Gunicorn、Tornado等等。

uwsgi则是上述uWSGI容器的独占协议。

这里我使用Gunicorn,用于处理转发Nginx发过来的请求给Web框架或者将Web框架返回数据转发给Nginx。

通信过程如图

Web框架

python常用的Web框架有Flask、Django、web2py等等,这里就不解释了。

相关文章

  • Apache Python WSGI服务

    一、什么是WSGI? WSGI是指web服务器和python web应用或web框架之间的标准接口。以提高web...

  • Python实现通用web框架

    概述 Python WSGI规定了Web服务器和Python Web应用程序或Web框架之间的标准接口,主要是为了...

  • Python实现通用web框架

    概述 Python WSGI规定了Web服务器和Python Web应用程序或Web框架之间的标准接口,主要是为了...

  • 06-mini-web框架01

    web服务器静态资源、动态资源解析 WSGI WSGI允许开发者将选择web框架和web服务器分开,可以混合匹配w...

  • Python-WSGI接口

    Python WSGI规定了Web服务器和Python Web应用程序或Web框架之间的标准接口,主要是为了促进W...

  • Web服务器,WSGI,Web框架之间的关系

    转做后端一段时间,之前没搞明白这几样东西的关系,查阅相关文档资料之后,作出以下总结。 Web服务器 我这里用了Ng...

  • Flask + Gunicorn相应介绍

    WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求。Web框架和Web服...

  • gunicorn学习介绍

    WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求。Web框架和Web服...

  • WSGI-mini-web

    WSGI协议 浏览器请求动态页面过程 WSGI允许开发者将选择web框架和web服务器分开。可以混合匹配web服务...

  • wsgiref 源码阅读

    介绍 Web 服务器网关接口(WSGI)是 Web 服务器软件和用 Python 编写的 Web 应用程序之间的标...

网友评论

      本文标题:Web服务器,WSGI,Web框架之间的关系

      本文链接:https://www.haomeiwen.com/subject/wytrmqtx.html