Web应用程序的处理逻辑可以概括为:
- 接收HTTP请求
- 处理业务逻辑
- 发送HTTP响应给客户端
其中,接收HTTP请求和发送HTTP响应,主要是解析HTTP请求,构造HTTP协议响应,这些与业务无关,不需要每次开发Web应用程序都重新实现,因而已经存在许多独立可以直接使用的组件,这种组件称为WebServer,而业务逻辑处理部分则称为Application。WebServer和Application之间通过约定好的协议或规范进行通信。
WSGI(Web Server Gateway Interface)是Python社区提出的WebServer与Application之间通信的规范, 当前版本为v1.0.1, 定义在PEP 3333(https://www.python.org/dev/peps/pep-3333/)。