| 由来 | 浏览器刷新「重新提交表单」弹窗的根治方案 |
|---|---|
| 实现 | POST 处理成功后返回 303 + Location 指向结果页 |
| 规范 | RFC 9110 §15.4.4(303 语义) |
| 替代 | 302/307 也可用但语义不如 303 清晰 |
前后端拆分下的 PRG
前后端拆分下的 PRG
POST /submit → 303 Location: /result?id=42
GET /result?id=42 → 200 展示结果
(用户刷新 /result 只是 GET,不会重复提交)接口型 API 不流行 PRG(客户端自行处理),它主要面向浏览器表单与 SSR 页面。