WSGI:web server gateway interface
最简单的web应用就是先把html用文件保存好,用现成的http服务器软件(Apache,Nginx,Lighttpd等)来接收用户请求,从中读取html,返回。
对于tcp连接,html请求解析最好让专门服务器软件实现,我们只需要专注于生成HTML文档,所以需要一个统一的接口,让我们编写web业务。 他就是WSGI
WSGI只要求实现一个函数application()就能相应html请求,他由WSGI服务器调用。python有内置WSGI服务器,在wsgiref模块,他仅供开发和测试,效率没有优化。
application(environ,start_response)接收两个参数
environ:包含所有HTTP请求的dict对象。
start_response:发送HTTP响应的函数。
start_response(‘200 OK‘,[(‘Content-Type‘,‘text/html‘)]) 只能调用一次,两个参数,一个是HTTP响应码,一个是list表示HTTP header,每个header用一个包含两个str的tuple表示。
from wsgiref.simple_server import make_server def application(environ,start_response): start_response(‘200 OK‘,[(‘Content-Type‘,‘text/html‘)]) return [b‘<h1>hello</h1>‘] httpd=make_server(‘‘, 8000, application) print(‘start‘) httpd.serve_forever()
可以从environ中读取PATH_INFO:
environ[‘PATH_INFO‘][1:]
这样使用localhost:8000/Ivan 就可通过上面读取到Ivan
以上内容摘自http://www.liaoxuefeng.com/
纯粹是为了看的更仔细...
时间: 2024-12-28 16:14:17