中间件(Middleware)应用:CORS 跨域处理、GZip 压缩与请求耗时统计
1. 中间件是什么?
1.1 中间件在请求生命周期中的位置
中间件是一个"包裹"着应用的函数,请求和响应都会经过它。你可以把它理解为请求的"安检通道"和"包装工厂"。
1.2 FastAPI 中间件 vs 依赖注入
2. 自定义中间件
2.1 基础语法
2.2 请求耗时统计中间件
2.3 日志记录中间件
3. CORS 跨域中间件
3.1 为什么需要 CORS?
浏览器出于安全考虑,默认禁止一个域名(如 https://app.example.com)的网页向另一个域名(如 https://api.example.com)发请求。CORS(Cross-Origin Resource Sharing)就是让服务器声明"允许哪些外域来访问我"。
3.2 FastAPI 内置 CORS 中间件
3.3 不同场景的 CORS 配置
4. GZip 压缩中间件
4.1 Starlette 内置 GZip 中间件
minimum_size:响应体大于此字节数才压缩(默认 500 字节)- 自动对文本

