术语图鉴/后端基础/限流
←→切换Esc返回

限流 Rate Limiting

你可能会说

这个限流的逻辑我不太懂,帮我解释一下然后实现它。

限制单个用户单位时间内的请求次数。

限制单个用户单位时间内的请求次数。防止恶意刷接口、爬虫抓取,保护服务器不被打爆。

也常被叫作Rate Limiting

生活类比

像景区限流——每分钟只放 100 人进,人再多也不让进,保证里面的人体验。

🎮 动手试试

选择题选择一个你认为最合适的答案

关于「限流」,以下哪个描述最准确?

你可以这样告诉 AI

帮我给登录接口加限流:同一 IP 每分钟最多尝试 5 次,超过后返回 429 并锁定 15 分钟。

容易混淆?这样区分

限流 Rate Limiting≠
超时 Timeout

限流是主动拒绝过多请求以保护系统,超时是等待太久无响应后自动放弃。一个管「太快太多」,一个管「太慢没回应」。

什么时候用

防止接口被恶意滥用

登录接口、短信验证码、公开 API 等容易被暴力攻击或爬虫刷量的接口,必须限制单用户请求频率。

和 AI 协作时

想让 AI 帮你加限流时,直接说「帮我用 express-rate-limit 给登录接口加上限制:每个 IP 每分钟最多 5 次,超出返回 429」。

什么时候不用

内部管理后台

只有少数管理员使用的内部系统,用户可信且操作频率低,限流的意义不大。

与 API 安全无关的项目

如果你只做纯静态页面或客户端本地应用,不对外暴露接口,无需考虑限流。

组成结构 · Anatomy

1
核心概念Core

限制单个用户单位时间内的请求次数。防止恶意刷接口、爬虫抓取,保护服务器不被打爆。

2
实际表现In Practice

像景区限流——每分钟只放 100 人进,人再多也不让进,保证里面的人体验。

3
与 AI 的关联AI Context

和 AI 沟通时提到「加个限流,每分钟最多 60 次」,就是在设请求频率上限。

典型使用场景

防护恶意请求
告诉 AI「帮我给所有接口加限流,每个 IP 每秒最多 10 次请求,超限返回 429 状态码」
想弄懂概念时
告诉 AI「用大白话给我解释什么是限流,举个生活中的例子」

延伸阅读