python学习:最简单的web应用(WSGI接口)
2016-03-24 20:26
573 查看
web应用本质上来说就是:
浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;
服务器把HTML文档作为HTTP响应的Body发送给浏览器;
浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。
[0]我们要生成一个动态的web应用.如果由自己来写底层代码就太麻烦了.所以python提供了一个统一的接口,让我m只需要处理浏览器的请求,而不用去管各种协议.这个接口就是WGSI.
下面的代码就是利用wsgiref模块创建一个服务器,监听浏览器的请求,并且作出回应.
from wsgiref.simple_server import make_server # 自己编写的application函数: def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) body = r'<h1>Hello, %s!</h1>'%(environ['PATH_INFO'][1:] or 'web') return [body.encode('utf-8')] # 创建一个服务器,IP地址为空,端口是8000,处理函数是application: httpd = make_server('127.0.0.1', 8000, application) print('Serving HTTP on port 8000...') # 开始监听HTTP请求: httpd.serve_forever()
wsgi接受一个处理函数,这个处理函数接受两个参数:一个是HTTP响应码,一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。
相关文章推荐
- 深入浅出设计模式python版——策略模式(stratery)
- python之装饰器
- python爬取并下载麦子学院所有视频教程
- python常用包和模块-更新
- python之yield使用
- Python中的str与unicode处理方法
- Python中UnicodeDecodeError:‘XXX’ codec can’t decode bytes in position错误信息解决办法
- 用python做自己主动化測试--绘制系统性能趋势图和科学计算
- python2.7:float2int 1.0=1 1.1=1.1
- python2.7:str.find 用法
- python-language/tips/
- Python3.5.1在win7安装numpy、scipy和theano的方法
- 用Python抓取指定字符串的log
- python学习(四):函数式编程
- Python导入mysql
- Python smtplib模块自动收发邮件(二)
- Ubuntu 14.04的vim编辑器配置Python开发环境
- Python3下的NLTK及nltk_data安装问题(Ubuntu环境)
- python学习(三):高级特性
- 安装sqlmap+python正确姿势