Starlette 请求体限额默认关闭,路由可覆盖上限

胖强大大_3361

胖强大大_3361

2026-11-02

221人浏览

原创

starlette 支持设置 http 请求体的总大小上限,不过默认状态下这项限制是关闭的。截至 2026 年 11 月 2 日,官方应用与路由文档标注的 max_body_size 默认值仍为 none,也就是不限制请求体大小。只升级框架版本,并不意味着应用会自动获得上传容量上限。

这个参数按原始请求体的字节总量计数,文件数据和 multipart 编码开销都算在内。它不等于单个上传文件的大小上限;同一请求里的多个文件、普通字段会合并计入。参数接受非负值,单位为字节。

Starlette 官方路由文档说明请求体限额默认 None,包含文件及 multipart 开销,并展示上传路由覆盖应用上限的示例

来源:Starlette 官方文档

限额也可以配置到 Router、Mount 和具体路由。路由匹配完成后,内层声明的额度能够覆盖外层上限。官方示例给应用设置较小的额度,再单独给上传路由设置更大的值,说明同一服务的不同入口不必共用一个限额。

路由级覆盖有执行顺序。应用级中间件先于路由运行;若中间件已经读取请求体,这些字节会先受应用级限额约束,不能等到命中上传路由后再放宽。官方提醒,项目中存在提前读取请求体的中间件时,应用级额度应容纳合法路由的最大需求。

校验并不只看 Content-Length。这个请求头能用于提前拒绝明显超额的请求,但框架仍会统计从 ASGI 服务器实际接收到的请求体字节。没有长度头的请求同样受计数约束,低报长度也无法据此绕过上限。官方中间件文档列出的超额响应为 HTTP 413。

Skill Weave Chains — 技能链路由引擎
Skill Weave Chains — 技能链路由引擎

开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。

下载

Starlette 官方请求体限额说明,明确按 ASGI 实际接收字节计数,缺少或低报 Content-Length 不能绕过限制

来源:Starlette 官方文档

表单解析器自带的限额是另一层机制。request.form() 默认分别允许最多 1000 个文件、1000 个普通字段,max_part_size 默认为 1 MiB(1024×1024 字节),限制的是非文件字段。上传文件会转存到临时存储,不受这个单字段参数约束;控制完整请求的大小,仍需使用总请求体限额。

这些层级的区别分别写在路由文档、限额中间件说明及请求文件文档中。对提供上传入口的应用,参数默认值、读取顺序和额度层级都会影响校验结果。官方还建议结合反向代理的请求体上限、临时存储配额,框架内的一个数值无法覆盖所有部署资源。

相关文章

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

路由

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

100

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

240

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

140

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Revel 官方开发手册
Revel 官方开发手册

共0课时 | 0人学习

Buffalo框架路由开发手册
Buffalo框架路由开发手册

共0课时 | 0人学习

Buffalo框架官方文档
Buffalo框架官方文档

共0课时 | 0人学习