
1. Web work flow
在上一篇文章中,我们知道web工作刘如下:
the web client <-> the web server <-> the socket <-> (uwsgi protocol)uWSGI(WSGI) <-> Python
并用例子说明了,application server(uWSGI)要做的事情:

- 从输入中获取数据构造env字典(handle_one_request, parse_request),里面一般包括:- PATH_INFO:
- HTTP_HOST,
- SERVER_PORT
- REQUEST_METHOD
- QUERY_STRING(GET),
- CONTENT_LENGTH(POST),
- wsgi.input(POST请求中,框架会从这个句柄中获取POST请求携带的data)
- 
        GET request  
- 
        POST request  
 
- 根据application返回的output,构造http response
    - application先调用start_response构造response header 
- application server在把output,添加在后面,行成response
   
 
- application先调用
2. 框架做的事情
- URL mapping
    - 
        创建URL map  
- 
        添加路由  
- 
        URL map详情    
- 
        URL match  
 
- 
        
- Request and Response的封装
    - Request
  
- Response
  
 
- Request
 
- template 引擎
    - 模板引擎:相当于构造了一个函数,输入是模板需要的变量,输出是html
  
 
- 模板引擎:相当于构造了一个函数,输入是模板需要的变量,输出是html
 
- 错误,异常处理
    - 设置错误处理函数
   
- 根据错误的不同,output显示不一样的信息:例如:500则显示traceback;其他显示有用的msg
  
 
- 设置错误处理函数
  
3. 框架还可以做的事情
- 安全支持:放CSRF, XSS, SQL\命令行注入
- session支持: token
- 权限管控: has_permission
- ORM支持
- admin后台管理