WSGI(Web Server Gateway Interface)
- 一个专门用于Web服务器的网关接口,让我们不需要自己写Http底层
一个基于WSGI的简单的服务器
# coding:utf-8
from wsgiref.simple_server import make_server
# 必须是application函数,代表一个应用APP
# env参数内部有全部的请求信息,start_response函数是用于设置响应参数的
def application(env, start_response):
start_response('200 ok', [('Content-Type', 'text/html')])
return "<h1>OK</h1>"
if __name__ == "__main__":
# 启动一个服务,设置IP,Port,应用
http_server = make_server('127.0.0.1', 80, application)
# 创建httpserver,注意Google浏览器对80端口之外的访问会安全验证
http_server.serve_forever() # 启动服务
application
application()函数就是符合WSGI标准的一个HTTP处理函数,包含下面两个参数
environ:一个包含所有HTTP请求信息的dict对象
start_response:一个发送HTTP响应的函数
start_response
start_response()函数接收两个参数
一个是HTTP响应码
一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示
make_server
- 创建一个服务器(有三个需要给定的参数)
- IP地址,端口
- 处理函数是application
serve_forever
- 服务器一直开启