WSGI是什么意思

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

Python Web Server Gateway Interface

发展背景

以前,如何选择合适的 Web 应用程序框架成为困扰 Python 初学者的一个问题,这是因为,一般而言,Web 应用框架的选择将限制可用的 Web 服务器的选择,反之亦然。那时的 Python 应用程序通常是为 CGI,FastCGI,mod_python 中的一个而设计,甚至是为特定 Web 服务器的自定义的 API 接口而设计的。

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

规范概览

WSGI 区分为两个部分:一为“服务器”或“网关”,另一为“应用程序”或“应用框架”。在处理一个 WSGI 请求时,服务器会为应用程序提供环境信息及一个回调函数(Callback Function)。当应用程序完成处理请求后,透过前述的回调函数,将结果回传给服务器。

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

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

网友回应

欢迎扫描关注我们的微信公众平台!

欢迎扫描关注我们的微信公众平台!