type
status
date
slug
summary
tags
category
icon
password

📔 WSGI

一、介绍

notion image
从上面的图中可以很清楚的看到搭建一个web的基本关系。
这里的uwsgi或者gunicorn扮演的角色就是web服务器的角色,这里的服务器是软件层面的服务器,用于处理浏览器发过来的HTTP请求以及将响应结果返回给前端。而Web框架的主要任务就是处理业务逻辑生成结果给web服务器,再由web服务器返回给浏览器。
而web框架和web服务器之间的通信需要遵循一套规范,这个规范就是WSGI了。
WSGI的目的便是规范标准,方便大家所用。
 

二、符合WSGI规范的基本框架

notion image
左边是web服务器,右边是web框架(应用程序)。
应用程序:WSGI规定应用程序必须是一个可调用对象(可调用对象可以是函数,也可以是类,还可以是实现了 __call__的实例对象),而且必须接受两个参数,该对象的返回值必须是可迭代对象。
服务器:WSGI 服务器端做的事情就是每次接收HTTP请求,构建environ对象,然后调用application对象,最后将HTTP Response返回给浏览器。
  • application是一个自己构建的函数,即可调用对象。里面一般包含environ、start_response。
  • environ是一个字典,里面存储了HTTP request相关的所有内容,如:header、请求参数等。
  • start_response用于接受由WSGI服务器传递过来的函数,将response header,状态码传递给Server。
Python Web框架学习Flask框
  • Twikoo
  • Giscus
  • Cusdis