转发与重定向

一. 转发(forward)和重定向(redirect)的区别

参考博客:xianyadong的博客

  • forward::向前,前进的意思

  • redirect:重新使用,改签的意思

  • 转发属于服务器行为 重定向属于客户端行为

  • 转发:浏览器发送请求 -> 服务器接受 -> 服务器调用内部方法完成请求与转发 -> 将转发跳转之后的网页资源发送给浏览器;

  • 重定向:浏览器发送请求 -> 服务器发送302状态码及新的链接地址给用户 -> 浏览器发现是302错误码,发送新请求,此请求指向新地址 -> 服务器按此请求发送网页资源。

    302 found : 原始描述短语为 Moved Temporarily ,是HTTP协议中的一个状态码(Status Code)。可以简单的理解为该资源原本确实存在,但已经被临时改变了位置;换而言之,就是请求的资源暂时驻留在不同的URI下,故而除非特别指定了缓存头部指示,该状态码不可缓存。来源:302 found的百度百科

  • 区别:

    转发重定向
    地址栏不变变化
    请求次数一次最少两次
    要求同一容器中无要求(新的URL)
  • 在sprign boot中的使用:

    	// 重定向
    	@PostMapping("/emp")
    public String addEmp(Empolyee empolyee){
            return "redirect:/emps";
        }
    // 转发
    	@PostMapping("/emp")
    public String addEmp(Empolyee empolyee){
            return "forward:/emps";
        }
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值