WSGI接口
2016-04-23 09:21
246 查看
官方文档:WSGI
environ: 包含所有HTTP请求信息的dict对象;
start_response: 发送HTTP响应的函数.
看下面的例子:
example1.py
在application中start_response发送了HTTP响应头部,第一个参数是响应码,第二个参数是HTTP头部信息.然后函数返回值作为HTTP响应的Body发送给浏览器.运行结果:
非常强大的东西,WSGI接口让我们在Web开发时不用再去关注如何接受/解析和发送HTTP请求,不需要去编写这些底层的代码,而是专注与Web业务.
什么是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业务.
相关文章推荐
- 《利用python进行数据分析》NumPy基础:数组和矢量计算 学习笔记
- DjangoORM一对多&多对多操作
- 卡特兰数
- js 自定义日期(Date)格式化
- 32位的整型数拆分为两个浮点数的方法
- Maven 下载jar包的同时自动下载源码包source.jar
- C++ 复杂链表的复制
- LeetCode 317. Shortest Distance from All Buildings(最短建筑距离)
- 0423学习进度条
- CentOS IP设置问题
- C# 调用C++工程生成的DLL
- ArcGIS 如何用点提取所在的面、线图层
- AndroidStudio GreenDao简单使用Demo
- POJ 2352 Stars 线段树
- el表达式
- 很好的c++和Python混合编程文章
- C#OOP之二 变量和表达式
- C#OOP之二 变量和表达式
- Android绘图机制与处理技巧
- Windows下单机安装Spark开发环境