Advertisement

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)

还没有任何评论哟~