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程序使网页具有交互功能

IrYVRz

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()

参考:
<WSGI简介>
<网关协议学习:CGI、FastCGI、WSGI>

原文地址:https://www.cnblogs.com/hzl6255/p/6924776.html