您的位置:首页 > 编程语言 > Python开发

python web编程中的WSGI协议

2016-03-20 23:41 489 查看
1.WSGI

WSGI,全称为Web Server Gateway Interface,是python语言装有的接口协议。类似CGI/FastCGI的东东

(1)一个支持WSGI协议的web服务器

server.py使用支持WSGI协议的wsgiref服务器,并关联了用户程序application

# server.py
# 从wsgiref模块导入:
from wsgiref.simple_server import make_server
# 导入我们自己编写的application函数:
from hello import application

# 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
# 开始监听HTTP请求:
httpd.serve_forever()
(2)用于生成动态网页的用户程序

# hello.py

def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return [b'<h1>Hello, web!</h1>']
其中environ用来接收web服务传递过来的HTTP请求协议头内容。start_response构造HTTP返回头。return返回的是html的body。

如上就简单的实现了一个遵循WSGI规范的web服务器和用户程序,他们都严格遵循WSGI协议。

在浏览器中输入:http://localhost:8080/即可访问了。

备注:

在Python中,为了让程序员更关注业务处理逻辑,可以使用web框架,让解析http请求头中的路由信息交由框架来完成,python的web框架有上百个,比如web2py,Bottle等等。同时html也有模板,比如jinja2等等。

学习资料参考于:
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432012393132788f71e0edad4676a3f76ac7776f3a16000 http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432012745805707cb9f00a484d968c72dbb7cfc90b91000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: