1.相同点: 他们都实现了实现跳转的功能。确切的说,都是一个web组件在执行过程中,再去调用另外一个web组件。
2.区别:
a.转发的地址必须是同一个应用内部的某个组件,而重定向是任意的。
b.转发之后,浏览器地址栏的地址不变;而重定向后地址会变成重定向地址。
c.转发可以共享request,而重定向不能共享:因为request,response对象的生存时间是一次请求与响应期间,即当请求到达容器时,容器会立即创建request,response对象,一旦容器发送完响应,会立即销毁request,response对象
3.实例: 重定向一般用于用户注销登录时返回主页面和跳转到其他的网站等等。而重定向,一般用于用户登录的时候根据角色转发到响应的模块等等。
4.Note: 从两个技术的特点可以看出,转发的效率要高于重定向,因为重定向是生存在“一次请求,一次响应”里面,需要不断地进行浏览器与服务器的交互;而转发仅在服务器端处理,不会浪费用户的时间,提高了用户端的效率。