WSGI简介
2017-09-02 19:31
148 查看
客户端发起了一条HTTP请求。。
服务器接受,解析,构造header,从web应用那里拿HTML文档,构造HTTP响应,发送响应。。
客户端接受,抽取HTML文档,显示。完毕。
太麻烦了,这么多的细节,在开发过程中,我们关注的只是HTTP请求以及对应的HTML文档啊,当然是选择把精力花在这里啦。所以,抽象吧,把服务器与web应用的通信细节包装起来,以后就可以不用去管他们啦!!
python中,这个抽象就是WSGI接口,即web server gateway interface. 官方解释为:Web服务器软件和用Python编写的Web应用程序之间的标准接口。【1】
嗯, 它长这个样子:(对, 这个接口是一个可调用的对象,一个函数或类)
下面以函数为例:
好了,上面的environ就是关于HTTP请求信息的环境变量,dict对象。
start_respond函数发送响应头部,包括响应码,显然,其不可以单独发送,必须等待程序处理HTML文档之后才发送。关于具体的参数与使用见:https://www.python.org/dev/peps/pep-3333/#the-start-response-callable
等等,两个参数由谁提供,还有,谁来调用?当然是服务器啦,看那个函数,其中web应用已经提供了HTML文档了,就是b"Hello World",它又是一个接口,那差的肯定就是服务器啦。
给它一个 服务器环境,python标准库的wsgiref,然后这样做,
运行,打开http://localhost:8000
一个小的web应用搞成了。就是说,接下来,我们仅需专注与那个接口对象就行了。
这就是wsgi简单介绍。
参考:
使用Web框架 - 廖雪峰的官方网站
python文档
服务器接受,解析,构造header,从web应用那里拿HTML文档,构造HTTP响应,发送响应。。
客户端接受,抽取HTML文档,显示。完毕。
太麻烦了,这么多的细节,在开发过程中,我们关注的只是HTTP请求以及对应的HTML文档啊,当然是选择把精力花在这里啦。所以,抽象吧,把服务器与web应用的通信细节包装起来,以后就可以不用去管他们啦!!
python中,这个抽象就是WSGI接口,即web server gateway interface. 官方解释为:Web服务器软件和用Python编写的Web应用程序之间的标准接口。【1】
嗯, 它长这个样子:(对, 这个接口是一个可调用的对象,一个函数或类)
下面以函数为例:
def hello_world_app(environ, start_response): status = '200 OK' # HTTP Status headers = [('Content-type', 'text/plain; charset=utf-8')] # HTTP Headers start_response(status, headers) # The returned object is going to be printed return [b"Hello World"]
好了,上面的environ就是关于HTTP请求信息的环境变量,dict对象。
start_respond函数发送响应头部,包括响应码,显然,其不可以单独发送,必须等待程序处理HTML文档之后才发送。关于具体的参数与使用见:https://www.python.org/dev/peps/pep-3333/#the-start-response-callable
等等,两个参数由谁提供,还有,谁来调用?当然是服务器啦,看那个函数,其中web应用已经提供了HTML文档了,就是b"Hello World",它又是一个接口,那差的肯定就是服务器啦。
给它一个 服务器环境,python标准库的wsgiref,然后这样做,
from wsgiref.simple_server import make_server httpd = make_server('', 8000, hello_world_app) print("Serving on port 8000...") # Serve until process is killed httpd.serve_forever()
运行,打开http://localhost:8000
一个小的web应用搞成了。就是说,接下来,我们仅需专注与那个接口对象就行了。
这就是wsgi简单介绍。
参考:
使用Web框架 - 廖雪峰的官方网站
python文档
相关文章推荐
- python wsgi 简介
- WSGI 简介
- 【Python】Web服务器网关接口(WSGI)的简介及wsgiref模块
- WSGI 简介
- python的 WSGI 简介
- wsgi简介,flask和scrapy的简单使用
- WSGI 简介
- WSGI:简介
- Python笔记:wsgi简介
- WSGI 简介(使用python描述)
- python wsgi 简介
- WSGI 简介(使用python描述)
- WSGI 简介
- 什么是 WSGI -- Python 中的 “CGI” 接口简介
- WSGI 简介(使用python描述)
- WSGI简介
- WSGI简介
- WSGI 简介(使用python描述)
- WSGI简介
- python wsgi 简介