WSGI
学习内容:
- eventlet.wsgi: http://eventlet.net/doc/examples.html#wsgi-server
- webob: http://webob.org/
- pecan: http://pecanpy.org/
- wsme: http://pythonhosted.org/WSME/
- paste: http://pythonpaste.org/
- routes: http://routes.readthedocs.org/en/latest/
个人理解:
wsgi: Web服务器网关接口(Python Web Server Gateway Interface
,缩写为WSGI
)CGI(common gateway unterface)
工作原理:
webob:WebOb是一个用于对WSGI request环境进行包装(也就是变得易用)以及用于创建WSGI response的一个包。
特点:一是兼容性好,二是使用简单。
pecan:Pecan专注于HTTP本身,提供object-dispatch方式路由的超轻量级的Python Web框架,没有支持一些额外的功能,
比如session或是数据库 。
wsme:(Web Service Made Easy)WSME会自动帮你检查HTTP请求和响应中的数据是否符合预先设定好的要求。WSME的主要方式是通过装饰器来控制controller方法的输入和输出。WSME中主要使用两个控制器:
@signature: 这个装饰器用来描述一个函数的输入和输出。
@wsexpose: 这个装饰器包含@signature的功能,同时会把函数的路由信息暴露给Web框架,效果就像Pecan的expose装饰器。
paste:Python paste是一个WSGI工具包,paste 是python的一个module,通过paste, 你可以把wsgi的模块写入ini风格的配置文
件,灵活部署。
routes:Rest即Representational State Transfer
,中文大家翻译成表述性状态转移。在OpenStack中的API Daemon都会有一个Router类,来构建资源与URL直接的映射关系,完成从接收到URL请求然后映射到具体的函数上执行的整个过程。
参考连接:
https://xiaopeng163.gitbooks.io/getting-started-with-wsgi/content/basic_knowledge/http.html(xiaopeng)
https://as-gitlab.cisco.com/CSS_Dalian/css-awesome-project/issues/30(limingwei)
http://bingotree.cn/?p=109(webob)
http://blog.csdn.net/carolzhang8406/article/details/51123889(python轻量级框架)
http://www.th7.cn/Program/Python/201602/765073.shtml(WSME与pecan结合使用)
http://www.cnblogs.com/kramer/p/6114486.html (mingwei paste deploy)
http://www.choudan.net/2013/07/28/OpenStack-paste-deploy%E4%BB%8B%E7%BB%8D.html(臭蛋 paste deploy)
http://www.choudan.net/2013/07/28/OpenStack-Restful-API.html(OpenStack rest API 设计)