Web框架介绍
1. 介绍
Web应用是一种基于客户端/服务器的应用程序.
客户端通常在Web浏览器中运行, 向服务器发起HTTP/HTTPS请求(Request), 服务器处理请求后返回响应(Response)
2. 框架
这里的Web应用框架指的是Server端的Web框架
Web应用框架通常基于Model-View-Controller(MVC)
不同的语言有各自的实现, 比较流行的Web应用框架如下:
C#: ASP.NET
PHP: Laravel、Phalcon、Symfony2
Java: SSH(Spring、Struts、Hibernate)
Ruby: Ruby on Rails
Python: Django、Tornado、web2py、Flask
3. 网关
3.1 CGI介绍
早期Web Server只需要返回静态内容给Client即可, 然而随着时间的推移, 为了能够返回动态内容给Client, CGI应运而生.
CGI(Common Gateway Interface)是外部应用程序(CGI程序)与Web服务器之间的接口标准
CGI规范允许Web服务器执行外部程序, 并将它们的输出发送给Web浏览器
CGI运行在网络服务器上, 可以用任何一种语言编写, 只要这种语言具有标准输入、输出和环境变量
大多数CGI程序用来处理和解释来自表单的输入信息, 并在服务器进行相应的处理, 或将相应的信息反馈给浏览器
CGI程序使网页具有交互功能
3.2 WSGI
Web服务器网关接口(Python Web Server Gateway Interface, 缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口, 是基于现存的CGI标准而设计的, 最新版本是在Python的PEP-3333定义.
WSGI中定义了两个角色, Web服务器端称为Server或者Gateway, 应用程序端称为Application或者Framework
在Python中, wsgiref是官方的WSGI实现
下面是一个最简单的WSGI Application
def application(environ, start_response): header = [('Content-type', 'text/plain')] status = '200 OK' start_response(status, header) return ['Hello World'] if __name__ == '__main__': from wsgiref.simple_server import make_server server = make_server('0.0.0.0', 8000, application) print 'Starting Http Server...' server.serve_forever()