重定向(redirect)与转发(forward)的区别
重定向(redirect)与转发(forward)的区别
1.重定向时地址栏会发生改变,转发时地址栏不会发生改变
当浏览器请求资源时,服务器直接访问目标地址的URL,将URL的响应内容读取,之后再将读取的内容发给浏览器,整个跳转过程是在服务器上完成的,浏览器并不知道服务器发送的内容是从哪来的,因此浏览器(客户端)并不知道这个跳转动作,它的地址栏还是原来的地址。
浏览器向服务端请求资源,服务端发送一个状态码,告诉浏览器重新去请求那个新地址,因此地址栏显示的是新的URL
2.重定向可以访问其他站点(服务器)的资源,转发只能访问当前服务器下的资源
3.重定向发生两次请求,不能使用request域对象共享数据,转发只产生一次请求,可以使用request域对象共享数据