wsgi学习文档

http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html

WSGI是什么?

WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口。

WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。

WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的。

很多框架都自带了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。当然性能都不好,自带的 web server 更多的是测试用途,发布时则使用生产环境的 WSGI server或者是联合 nginx 做 uwsgi 。

  • 也就是说,WSGI就像是一座桥梁,一边连着web服务器,另一边连着用户的应用。但是呢,这个桥的功能很弱,有时候还需要别的桥来帮忙才能进行处理。WSGI 的作用如图所示:
  • WSGI的作用

  • WSGI有两方:“服务器”或“网关”一方,以及“应用程序”或“应用框架”一方。服务方调用应用方,提供环境信息,以及一个回调函数(提供给应用程序用来将消息头传递给服务器方),并接收Web内容作为返回值。

    所谓的 WSGI中间件同时实现了API的两方,因此可以在WSGI服务和WSGI应用之间起调解作用:从WSGI服务器的角度来说,中间件扮演应用程序,而从应用程序的角度来说,中间件扮演服务器。“中间件”组件可以执行以下功能:

    • 重写环境变量后,根据目标URL,将请求消息路由到不同的应用对象。
    • 允许在一个进程中同时运行多个应用程序或应用框架。
    • 负载均衡和远程处理,通过在网络上转发请求和响应消息。
    • 进行内容后处理,例如应用XSLT样式表。

转载于:https://www.cnblogs.com/duanhaoxin/p/9898299.html

pyhton中的wsgi是什么?相关推荐

  1. pyhton 中的字符串切片问题

    写在前面的话 这个,我是写给自己看的,感觉对其他人没有啥帮助的,所以您可以跳过,不用浪费您宝贵的时间. 因为实在是..... 玩的太久了,好久没有看书,所以现在有点方.老板说让我好好休息,我觉得他是在 ...

  2. Python中的WSGI

    Python中的WSGI 文章目录 Python中的WSGI 一.WSGI引入 1. 浏览器请求动态页面过程 2.问题 二.什么是WSGI 三.WSGI的接口 1.WSGI接口定义格式 2.参数解释 ...

  3. Pyhton中dataframe型数据的keys()方法

    Pyhton中dataframe型数据的keys()方法: 返回每一列的列名 代码如下: lis=[['fanfan','B','18'],['huanhuan','G','23'],['lingli ...

  4. pyhton中的魔术方法

    魔术方法 ***** 特殊属性 属性 说明 __name__ 类.函数.方法等的名字 __module__ 类定义所在的模块名 __class__ 对象或类所属的类 __bases__ 类的基类的元组 ...

  5. Python学习—pyhton中的进程

    1.进程定义 进程: 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据.进程控制块(pcb)三部分组成. (1)我们编写的程序用来描述进程要完成哪些功能以及如何完成: (2)数据 ...

  6. pyhton中r‘‘表达式的语法

    这里是翻译深入python3这本书的内容,由于找不到链接所以设为原创 为了解决'\'字符传染的问题,可以使用原始字符串. 这只需要在字符串的前面添加一个字符'r'. 它告诉python,字符串中没有任 ...

  7. pyhton 中的点乘,点除 与交叉乘 交叉除的区别

    matlab和python点乘和交叉乘的区别 matlab中 ./和.* 代表矩阵对应元素相除 和相乘,俗称点除和点乘.而在python中,/和*代表 点除和 点乘.与matlab 不相同. matl ...

  8. pyhton中正则表达式

    简单示例 import re a = 'C|C++|java|python|c#'# 在a中匹配python r = re.findall('python',a) print(r) # 输出是一个列表 ...

  9. Pyhton中三个神仙般的返回操作

    来源: https://github.com/leisurelicht/wtfpython-cn 第一个:神奇的字典键 some_dict = {} some_dict[5.5] = "Ru ...

最新文章

  1. 【计算机视觉】EmguCV学习笔记(1)Hello World
  2. 【前端面试分享】- 寒冬求职下篇
  3. msm8953+android8.1蓝牙名称修改、多产品采用不同名字的兼容
  4. python axis 0_Python之NumPy(axis=0/1/2...)的透彻理解
  5. [UVA315]Network(tarjan, 求割点)
  6. SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length
  7. websocket 发送图片_Netty(四)实现WebSocket
  8. 软件系统命名简称大全
  9. VBScript 程序员参考手册 读书笔记08-
  10. matlab 小波分析工具
  11. 屏通触控大师(PM Designer)快速入门
  12. 简单学习HTML图片轮播(初学)
  13. 分析DuxCms之AdminController
  14. PHP的设计模式及场景应用介绍
  15. Spring注解汇总
  16. 【文献笔记】NOMA+D2D模型3 (D2D group)
  17. jQuery DOM操作 实现本地表格查询
  18. mysql increment_mysql中auto_increment是干什么的?
  19. SpringBoot--任务:邮件任务
  20. MySQL 存储引擎 (SphinxSE)安装详解

热门文章

  1. 收藏 | 使用合成数据集做目标检测
  2. 当学术论文开始标题党「x is All You Need」
  3. 过拟合解决方法之L2正则化和Dropout
  4. mysql配置 | 快速上手Linux玩转典型应用
  5. PHP输出一段励志的话,一段励志的好句子,经典透彻!
  6. 最详细的Eigen笔记
  7. 避免缓冲区溢出的方法
  8. 如何用ARKit将太阳系装进iPhone(二)
  9. 保持函数依赖的模式分解可以减轻或解决什么_为什么我更喜欢函数式编程?
  10. 拉普拉斯算子属于卷积方法吗_三代图卷积网络理论