术语图鉴/后端基础/中间件
←→切换Esc返回

中间件 Middleware

你可能会说

帮我处理一下中间件,我不太确定最佳实践是什么。

请求到达最终处理逻辑之前,先经过的「安检站」。

请求到达最终处理逻辑之前,先经过的「安检站」。可以在这里检查权限、记录日志、过滤非法请求。

也常被叫作Middleware

生活类比

像机场安检——登机(处理请求)之前,先过安检(中间件),不合格的拦下来。

🎮 动手试试

Logger→Auth→RateLimit→Handler
选择题选择一个你认为最合适的答案

关于「中间件」,以下哪个描述最准确?

你可以这样告诉 AI

帮我写一个 Express 中间件:记录每个请求的方法、URL 和耗时,并验证请求头里是否带了有效 token。

容易混淆?这样区分

中间件 Middleware≠
API API

中间件是请求处理链中的「拦截器」——在请求到达最终处理函数前做预处理;API 是请求的「终点」——真正处理业务逻辑的地方。

什么时候用

请求预处理管道

每个请求都需要做日志记录、权限校验、跨域处理时,用中间件统一处理,避免在每个接口里重复写相同逻辑。

和 AI 协作时

想让 AI 帮你写中间件时,直接说「帮我写一个 Express 中间件:检查请求头是否有有效 token,无效则返回 401,有效则把用户信息挂到 req.user 上」。

什么时候不用

极简脚本或命令行工具

如果只是一个跑一次就退出的简单脚本,没有请求处理链,中间件概念完全不适用。

与后端框架无关的项目

如果你只做前端页面或纯客户端应用,不会接触到 Express/Koa 等框架的中间件机制。

组成结构 · Anatomy

1
核心概念Core

请求到达最终处理逻辑之前,先经过的「安检站」。可以在这里检查权限、记录日志、过滤非法请求。

2
实际表现In Practice

像机场安检——登机(处理请求)之前,先过安检(中间件),不合格的拦下来。

3
与 AI 的关联AI Context

和 AI 沟通时提到「加个中间件判断登录状态」,就是在请求处理前插一道检查。

典型使用场景

添加请求拦截
告诉 AI「帮我写一个中间件,统一验证登录态,未登录的请求直接返回 401,顺便记录请求日志」
想弄懂概念时
告诉 AI「用大白话给我解释什么是中间件,举个生活中的例子」

延伸阅读