这两者之间的区别是什么?302 FOUND
和一个
307 TEMPORARY REDIRECT
HTTP响应?The W3 spec ]
似乎表明它们都用于临时重定向,除非响应明确允许,否则两者都不能缓存。
发布于 2010-01-15 08:06:48
不同之处在于重定向POSTPUT
和DELETE
请求以及服务器对用户代理行为的期望(RFC 2616
):
注意: RFC 1945和RFC 2068指定不允许客户端更改重定向请求的方法。然而,大多数现有的用户代理实现将302视为303响应,对位置字段值执行GET,而不考虑原始请求方法。已经为服务器添加了状态代码303和307,这些服务器希望明确地表明客户端期望哪种类型的反应。
另外,请阅读Wikipedia上的文章30倍重定向codes..。
发布于 2010-01-15 08:11:14
307的出现是因为用户代理被采用为
事实
接受接收302响应并向Location响应头发送GET请求的POST请求的行为。这就是不正确行为-仅限303应该会导致POST变成GET。如果原始POST请求返回302,则用户代理在请求新URL时应该(但不要)坚持使用POST方法。
307的引入是为了允许服务器向用户代理清楚地表明,方法更改应该
注释
由客户端在跟随Location响应头时生成。
发布于 2015-05-01 22:36:18
这是一个很好的例子307 Internal Redirect
当Google Chrome遇到对它所知道的需要严格传输安全的域的HTTP调用时,就会发生这种情况。
浏览器使用与原始调用相同的方法无缝重定向。
https://stackoverflow.com/questions/2068418
复制相似问题