一个Web应用的本质:
- 浏览器发送一个HTTP请求;
- 服务器收到请求,生成一个HTML文档;
- 服务器把HTML文档作为HTTP响应的Body发送给浏览器;
- 浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
WSGI接口:Web Server Gateway Interface
这个接口可以使开发人员用Python专注于生成HTML文档,不需要的接触到TCP连接、HTTP原始请求和响应格式。
def application(environ, start_response):
# 发送HTTP响应的Header,注意Header只能发送一次
# start_response接收两个参数
# 一个是HTTP响应码
# 一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示
start_response('200 OK', [('Content-Type', 'text/html')])
# 作为HTTP响应的Body发送给浏览器
return [b'<h1>Hello, web!</h1>']
application()
函数可以响应HTTP请求,接受两个参数:
- environ:一个包含所有HTTP请求信息的dict对象
- start_response:一个发送HTTP响应的函数