| David Wheeler有一句名言:“计算机科学中的任何问题,都可以通过加上另一层间接的中间层解决。”为了提高Python网络服务的可移植性,Python社区在PEP 333中提出了Web服务器网关接口(WSGI,Web Server Gateway Interface)。 |
为了提高Python网络服务的可移植性,Python社区在PEP 333中提出了Web服务器网关接口(WSGI,Web Server Gateway Interface)。
WSGL标准就是添加了一层中间层。通过这一个中间层,用Python编写的HTTP服务就能够与任何Web服务器进行交互了。现在,WSGI已经成为了使用Python进行HTTP操作的标准方法。
按照标准的定义,WSGI应用程序是可以被调用的,并且有两个输入参数。
1、WSGI
下面是第一段代码,第一个参数是environ,用于接收一个字典,字典中提供的键值对是旧式的CGI环境集合的拓展。第二个参数本身也是可以被调用的,习惯上会将其命名为start_response(),WSGI应用程序通过这个参数来声明响应头信息。
# 用WSGI应用形式编写的简单HTTP服务。
#!/usr/bin/env python3
# A simple HTTP service built directly against the low-level WSGI spec.
from pprint import pformat
from wsgiref.simple_server import make_server
def app(environ, start_response):
headers = {'Content-Type': 'text/plain; charset=utf-8'}
start_response('200 OK', list(headers.items()))
yield 'Here is the WSGI

本文介绍了Python的WSGI标准及其在构建HTTP服务中的作用,详细阐述了WSGI应用程序的结构,前向代理与反向代理的区别,以及四种常见的Python HTTP服务部署架构。此外,讨论了平台即服务(PaaS)在简化部署过程中的角色,提供了不依赖Web框架的WSGI可调用对象示例。
最低0.47元/天 解锁文章
1701

被折叠的 条评论
为什么被折叠?



