您的位置:首页 > 其它

WSGI接口

2016-04-23 09:21 246 查看
官方文档:WSGI

什么是WSGI

        WSGI---Web Service Gateway Interface,网络服务网关接口.首先声明,它不是服务器,也不是python模块,它是一种规范,描述Web服务器和应用之间的交互.通俗来讲,它就是一条纽带,连接着Web服务器和应用.

WSGI应用

        WSGI应用是一个可调用(callable)对象,它可以是一个函数,一个方法,一个类,或者一个带有__call__()方法的实例.它必须接收两个参数:
        environ: 包含所有HTTP请求信息的dict对象;
        start_response: 发送HTTP响应的函数.
        看下面的例子:
example1.py
#! /usr/bin/env python
from wsgiref.simple_server import make_server    # wsgiref是python内置的wsgi服务器

def application(environ, start_response):   #
start_response('200 OK', [('Content-Type', 'text/html')])
return '<h1>Hello, web!</h1>'

def main():
wsgi_server = make_server('', 8000, application)
print "Serving HTTP on port 8000..."
wsgi_server.serve_forever()

if __name__ == '__main__':
main()


        在application中start_response发送了HTTP响应头部,第一个参数是响应码,第二个参数是HTTP头部信息.然后函数返回值作为HTTP响应的Body发送给浏览器.运行结果:



        非常强大的东西,WSGI接口让我们在Web开发时不用再去关注如何接受/解析和发送HTTP请求,不需要去编写这些底层的代码,而是专注与Web业务.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: