什么是POST => 302重定向到GET所期望的正确行为?
在Chrome(以及可能大多数浏览器)中,当我POST(到一个想要重定向我的资源)并收到302重定向后,浏览器会自动在302位置上发出GET请求。这甚至是知名模式。但是,按照我阅读规范的方式,似乎暗示这不应该发生。
如果除GET或HEAD之外的请求收到302状态码,则用户代理不得自动重定向请求,除非可以通过用户确认,因为这可能会更改发出请求的条件。
而Fiddler正在显示:
REQUEST 1: POST URLA
RESPONSE 1: 302 redirect to URLB
REQUEST 2: GET URLB
上面的部分似乎在说浏览器不应该发起GET请求?我错过了什么?
- 规范中早期的某些内容使得这一部分不相关。
- 我对自动重定向的理解是错误的(而做GET请求的Chrome浏览器实际上并没有真正进行自动重定向)。
- 我的理解得到用户的确认。
- 其他原因?