我有一个Spring MVC应用程序,该应用程序的端点导致重定向-请参见下面的代码。
我注意到,Spring为此重定向返回的HTTP状态代码是307
。我的问题是,为什么Spring选择返回307
而不是301
或302
。
仅仅是在客户端上允许同时使用GET
和POST
方法,并且就客户端可以执行的操作而言,307
是最不被允许的响应的事实,因此Spring将其实现为默认值吗?
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RequestMapping(value = "/login", method = {RequestMethod.GET, RequestMethod.POST})
public String loginAttemptWithoutCookie() {
return "redirect:" + "/some/other/url;
}
最佳答案
所有现代浏览器都会自动检测到302
302
实际上,所有在3xx
类别中的HTTP响应状态代码都会被考虑
重定向消息,所有现代浏览器都会自动检测到302
找到的响应代码并自动处理临时重定向操作
307
实际上是从管理员方307
内部重定向
客户端单击购物车项目,然后浏览器将POST发送到/cart-items.html,然后告诉它重定向POST到/purchase-selected-items.php
意思是,Spring试图重定向自定义(视图已经由admin创建)视图,而没有默认重定向