重定向与转发的主要区别如下:
1.转发是继续传递、处理同一个请求,在服务器端进行,浏览器显示旧请求URL
2.重定向在客户端运行,会产生一个请求,经过一次重定向后,浏览器会显示新URL,并且request内的对象将无法使用。即目标资源不能获取request属性值,而转发能获取。
3.因为浏览器要发出一个新请求,所以重定向速度比转发慢!
在实际开发中二则的选择原则如下:
1.优先选择转发,因为转发效率更高
2.在同一个web应用程序的两个请求间传递数据时,在转发与重定向之间只能通过转发实现
3.当需要跳转到其他服务器上的资源时(如网站)必须使用重定向。