forward(转发)和 redirect(重定向)的实际请求方式

forward 和 redirect 是 servlet 中的两种主要的跳转方式,forward 称做转发,redirect 称做重定向。

地址栏显示形式:
1. forword 是服务器内部的重定向,服务器直接访问目标地址的 url 网址,把里面的东西读取出来,但是客户端并不知道,因此用 forward 的话,客户端浏览器的网址是不会发生变化的;
2. redirect 是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。

逻辑跳转方式:
1. forword 在前端收到请求不是由自己处理时,在不告知用户的情况将数据跳转提交给应该处理的服务器,此时数据共享给到至少三方平台;
2. redirect 在前端收到请求不是由自己处理时,即在前端界面显示,由用户选择另外的服务器或显现正在跳转的过程,理论上数据不能共享。

请求应用情景:
1. forword 一般用于用户登录的时候,根据角色转发到相应的模块;
2. redirect 一般用于用户注销登录时返回主页面或者跳转到其他网站。

跳转效率:
1. forword 效率高;
2. redirect 效率低。
请求次数:
1. forword 只请求一次;
2. redirect 有两次请求。

0 条评论

昵称

做第一个吃螃蟹的人,快快评论吧~