Flask框架简介
Flask是一个使用 Python 编写的轻量级 Web 应用框架。来源-百度百科
MVC框架对比
框架 | 概述 |
---|---|
Flask | 全能框架、学习成本较大 |
Django | 微框架、易学习、Jinja2模板、内置服务器、扩展丰富、易扩展 |
Tornado | 高性能、异步处理、扩展不多 |
Bottle | 小巧 |
Flask为什么可以独立运行
- Werkzeug是一个WSGI工具包,也可以作为一个Web框架的底层库。
示例:Werkzeug实现简单的web Server
from werkzeug.wrappers import Request,Response
class Shortly(object):
def __call__(self, environ,start_response):
# start_response('200 ok',{('Content-Type','text/plain')})
# return [b"hello world"]
request = Request(environ)
text = "hello flask,%s"%(request.args.get('a','flask'))
response = Response(text,mimetype="text/plain")
return response(environ,start_response)
if __name__ == "__main__":
from werkzeug.serving import run_simple
app = Shortly()
run_simple("0.0.0.0",5000,app)
CGI:
CGI:通用网关接口,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。CGI描述了服务器和请求处理程序之间传输数据的一种标准。定义了客户端服务器之间如何传数据。
FastCGI:
快速通用网关接口,是一种让交互程序与Web服务器进行通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本。FastCGI致力于减少网页服务器与CGI程序之间的互动开销,从而使服务器可以同时处理更多的网页请求。
我们常见的Nginx、Apache都有实现该协议。
WSGI:
Web服务器网关接口,是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自WSGI被开发出来以后,许多其他语言中也出现了类似接口。
uWSGI:一个Web Server,即一个实现了WSGI的服务器。
uwsgi:是uWSGI服务器实现的独有的协议。