http研究之旅:重定向
发布时间
阅读量:
阅读量
http研究之旅:重定向
- 重定向即为:当一个客户端请求服务器中的某个资源时(或称作请求服务器资源),该资源被重新分配至一个新的URI(或称为目标URI),以便于客户端以该新URI作为入口来进行后续的操作或访问。
- 需要特别注意的是:当客户端接收到一个状态码为302(Non-modifying HTTP redirect)的信息时(或称作接收到非修改性HTTP转义指令),此时客户端会自动转向响应头中的location属性所指明的目标URL。
- 因此,在设置重定向时务必返回302状态码(而非其他状态码)。因为若返回的状态码非302(如201、404等),则会导致客户端不会遵循location属性指定的目标路径进而导致转义功能失效。
- 在 KoA框架中可以直接通过
ctx.redirect实现直接式的重定向功能。
// server.js
router.get("/home",async ctx=>{
ctx.status = 302
ctx.set("Location","/mainpage")
// ctx.redirect("/mainpage")
console.log("access...")
ctx.body = data
})
router.get("/mainpage",async ctx=>{
ctx.body = "this is a main page..."
})
代码解释


- 可以看见实现了重定向,如果不返回302状态码


若未返回302状态码,则客户端无法自动进行location指定的URL重定向,导致重定向失败。
全部评论 (0)
还没有任何评论哟~
