前言:
在学习springMVC的过程中,加深了对转发和重定向的理解,此篇博客来总结一下这两个概念,在今后的学习过程中更好的理解.
核心:
概念
转发:
浏览器发出一次请求,组件1处理后,交给组件2继续处理,这样的过程称为转发.
重定向:
浏览器发出一次请求,组件向浏览器发回一个重定向的响应,浏览器收到响应后继续发出请求,这样的过程称为重定向.
区别
从这两个定义来看,我们能看出了一点小区别,下面咱们来总结一下二者的不同:
1.从请求次数来看:
转发是一次请求一次响应,重定向是两次请求两次响应.
2.从地址栏变化来看:
转发时地址栏不会发生改变,重定向地址栏会发生改变
3.从负责主体来看:
转发是服务端行为,重定向是客户端行为
4.从效率来看:
转发的效率比重定向的效率高
5.从传递范围来看:
转发只能转发给本项目的其他资源,重定向不仅可以重定向本项目
6.从共享方面来看:
转发可以实现页面共享,重定向不能共享数据.
实现过程
转发:
用户请求--服务器--组件---服务器--用户
重定向
用户请求--服务器--组件--服务器--用户--新的请求
关键字
转发:forward