python学习笔记_WSGI接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记_WSGI接口相关的知识,希望对你有一定的参考价值。

 

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/

纯粹是为了看的更仔细...

以上是关于python学习笔记_WSGI接口的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记:python3,代码片段(2017)

Python学习笔记十五_开发接口

Python学习笔记5-利用flask来mock接口

Django学习笔记:第一个django程序

python学习笔记7.更加抽象

day6-Python学习笔记(十四)接口开发