如何解决用于重定向无效路由的正确状态代码
我设置了以下路线:
/business //look for a business
/business/biz/:id //look at a specific business
我所做的是,如果有人去/business/biz
,它将重定向到/business
。
我的问题是我应该使用什么状态代码?
我不认为这是301
或302
,因为它不是永久性的举动,也不是暂时的,它只是一个页面,不存在一致重定向到特定页面的情况。>
//get /business/biz page
router.get("/biz",(req,res) => {
res.redirect("/business");
});
我在Stack Overflow上查看了不同的问题,但没有找到与我的情况相符的情况。
解决方法
要在/business/biz
上重定向/business
,您应该返回一个308 Permanent Redirect
。
这是维基百科关于状态308的引用:
该请求和所有以后的请求应使用另一个URI重复。 307和308的行为与302和301的行为相似,但但不允许更改HTTP方法。因此,例如,向永久重定向的资源提交表单可能会继续顺利
您还应该检查this answer来说明301
,308
,302
,307
之间的区别,并且写得很好。
建议仅将301
代码用作GET
或HEAD
方法的响应,并将308
永久重定向用于POST
方法代替。
查看完整的文章here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。