Python WSGI规定了Web服务器和Python Web应用程序或Web框架之间的标准接口,主要是为了促进Web应用程序在各种Web服务器上的可移植性。在WSGI的规范下,各种各样的Web服务器和Web框架都可以很好的交互。由于WSGI的存在,用Python写一个简单的Web框架也变得容易了。
Web框架的核心部分是路由系统,客户端的请求Request发到wsgi服务器之后Web框架根据请求中的method和path进行多级路由后找到对应的handle方法,在调用方法处理Request得到Response。
本次主要依赖于两个库:
- WebOb库,用于封装wsgi的environ参数。
- re库,使用正则表达式匹配URL中的路径。
下面是客户端发送请求到WSGI服务器经过Web框架处理的整个流程的层次结构和数据流向图。
代码:https://github.com/Flowsnow/web_framework
参见每一次commit。
参考