POST => 302 重定向到 GET 的正确行为是什么?
在 chrome 中(可能是大多数浏览器),在我 POST (到希望我重定向的资源)并收到 302 重定向后,浏览器会自动在 302 位置发出 GET。这甚至是一个众所周知的模式。但是我阅读规范的方式似乎表明这不应该发生。
如果收到 302 状态代码以响应 GET 或 HEAD 以外的请求,则用户代理不得自动重定向请求,除非用户可以确认,因为这可能会改变发出请求的条件。
提琴手正在展示:
REQUEST 1: POST URLA
RESPONSE 1: 302 redirect to URLB
REQUEST 2: GET URLB
上面的部分似乎是说浏览器不应该发出 GET 请求?我错过了什么?
- 规范中较早的部分使本节无关紧要
- 我对自动重定向的理解是错误的(并且执行 GET 的 chrome 浏览器并没有真正自动重定向)
- 我的理解作为用户确认了这一点
- 还有什么?