forward和redirect的不同是甚么
forward和redirect都可以用于页面跳转,但有一些关键的不同:
forward是服务器端跳转,是在服务器内部进行的页面跳转,浏览器不知道页面产生了跳转,URL地址栏不会改变,是一个要求,一个响应。而redirect是客户端跳转,是通过向浏览器发送302状态码告知浏览器要跳转到其他页面,浏览器收到302状态码后会要求新的URL,地址栏会改变。
forward的跳转是在同一个要求中完成的,可以共享request域中的数据,而redirect是两次独立的要求,因此没法共享数据。
forward是在服务端进行跳转,不会刷新页面,页面内容不会改变,只是服务器端返回另外一个页面的内容。而redirect是浏览器发送新的要求,会重新加载页面。
forward是内部跳转,速度不错,不会增加额外的HTTP要求开消。而redirect会增加一次额外的HTTP要求,会影响性能。
TOP