Flask 基于wsgi源码启动流程

1. 点击 call 进入到源码

2. 找到 call 方法 return 执行的是 wsgi方法

3. 点击 wsgi 方法 进到 wsgi return 执行的是 response 方法

4. 点击response 方法 进到 full_dispatch_request

5. full_dispatch_request 执行finalize_request 方法

6. finalize_request 执行response 方法

7. 进到 make_response 方法 执行 rv

8. rv 执行 Response Response 在wrappers.py 中 继承 ResponseBase

9. call 中的wsgi方法 就等同于

werkzeug.wrappers 的 Response

10. run 方法 执行的是 run_simple

11. 因此可以得出

python 复制代码
from werkzeug.serving import run_simple
from werkzeug.wrappers import Response


def app(environ, start_response):
    print("请求执行")
    response = Response("你好")
    return response(environ, start_response)


if __name__ == '__main__':
    run_simple('127.0.0.1', 5000, app)

12. 点击链接进入浏览器

13. 浏览器显示

相关推荐
S***q1926 分钟前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust
v***7949 分钟前
Spring Boot 热部署
java·spring boot·后端
执笔论英雄10 分钟前
【RL】python协程
java·网络·人工智能·python·设计模式
追逐时光者33 分钟前
C#/.NET/.NET Core优秀项目和框架2025年11月简报
后端·.net
码事漫谈41 分钟前
Reactor网络模型深度解析:从并发困境说起
后端
T***u33342 分钟前
Rust在Web中的 Web框架
开发语言·后端·rust
码事漫谈44 分钟前
从理论到实践:构建你的AI语音桌面助手(Demo演示)
后端
o***59271 小时前
Spring 过滤器:OncePerRequestFilter 应用详解
java·后端·spring
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 三个线程(A、B、C)交替执行
java·后端·架构
汝生淮南吾在北1 小时前
SpringBoot+Vue超市收银管理系统
vue.js·spring boot·后端