打造 python web 框架 (一): 介绍

为什么自己写框架?为了让大家更好的理解web框架是如何工作的。
毕竟自己动手,丰衣足食。
有任何问题请联系我。
E-mail : lauixData@gmail.com

CGI:

Common Gateway Interface,简称CGI。在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。这样说大概还不好理解。那么我们看一个实际例子:现在的个人主页上大部分都有一个留言本。留言本的工作是这样的:先由用户在客户端输入一些信息,如评论之类的东西。接着用户按一下“发布或提交”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的CGI程序中,于是CGI程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后CGI程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。

WSGI:

WSGI的全称是Web Server Gateway Interface,这是一个规范,描述和了web server如何与web application交互、web application如何处理请求。该规范的具体描述在 PEP 3333 。注意,WSGI既要实现web server,也要实现web application。

实现了WSGI的模块/库有 wsgiref (python内置)、 werkzeug.serving 、 twisted.web 等,具体可见 Servers which support WSGI 。

当前运行在WSGI之上的web框架有Bottle、Flask、Django等,具体可见 Frameworks that run on WSGI 。

WSGI server所做的工作仅仅是将从客户端收到的请求传递给WSGI application,然后将WSGI application的返回值作为响应传给客户端。WSGI applications 可以是栈式的,这个栈的中间部分叫做 中间件 ,两端是必须要实现的application和server。

Alt text

文章目录:

  1. 介绍
  2. Python WSGI第一个应用
  3. Python WSGI架构升级
  4. 采用Werkzeug + jinjia2 进行架构
  5. 进行web项目架构测试
  6. 安全加固防御架构

 

 

评论 (0)
  1. 头像
    沙发
    Taron 2017-01-04 01:54

    I’m typically to blogging and i in reality respect your content. The article has actually peaks my interest. I’m free to bookmark your web place and hold glance for brand rapid pristine innomratiof.