Next.js 16.1.6 · 语义决策

导航结果与状态码决策实验台

先确定代码在哪里执行,再判断业务事实是普通进入、临时跳转、永久迁移还是资源不存在。状态码是语义的结果,不是先猜一个数字再套 API。

教学模拟,不发请求

输入事实

选择变化后实时计算

执行位置
业务事实
流式响应

主要影响 Server Component 中的 redirect 与 notFound 表现。

历史意图

实时决策

Server Component · 临时跳转 · 尚未流式

307
执行位置 Server Component
业务事实 临时跳转
推荐结果 redirect()

推荐 API

redirect()

典型状态 / 历史行为

HTTP 307;服务端重定向通常替换当前历史项。

为什么

临时跳转应保留原请求方法语义,307 比旧式模糊跳转更准确。

代码位置规则

redirect() 通过抛出异常终止当前路由段,应放在 try/catch 外。

风险提示

不要在捕获所有异常的 catch 中吞掉 NEXT_REDIRECT。

最小代码形态

redirect('/login')
推荐组合 需要留意上下文差异 当前位置不适合表达该事实

状态码纠错挑战

每题只能作答一次;选择后立即显示正确答案与解析。

得分 0 / 6 · 已答 0