forward和redirect的区别是什么

avatar
作者
筋斗云
阅读量:3

forward和redirect都可以用于页面跳转,但有一些关键的区别:

1. forward是服务器端跳转,是在服务器内部进行的页面跳转,浏览器不知道页面发生了跳转,URL地址栏不会改变,是一个请求,一个响应。而redirect是客户端跳转,是通过向浏览器发送302状态码告诉浏览器要跳转到其他页面,浏览器收到302状态码后会请求新的URL,地址栏会改变。

2. forward的跳转是在同一个请求中完成的,可以共享request域中的数据,而redirect是两次独立的请求,因此无法共享数据。

3. forward是在服务端进行跳转,不会刷新页面,页面内容不会改变,只是服务器端返回另一个页面的内容。而redirect是浏览器发送新的请求,会重新加载页面。

4. forward是内部跳转,速度快,不会增加额外的HTTP请求开销。而redirect会增加一次额外的HTTP请求,会影响性能。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!