请求转发是在服务器内部进行的,服务器将客户端的请求转发到另一个资源或Servlet处理。客户端对此一无所知,它认为仍在与原始URL交互。请求转发适用于在同一Web应用程序内部的资源之间进行交互(客户端与服务器端只发生了一次请求响应),特别是当资源之间需要共享数据和状态时。这种方式可以用于内部逻辑处理或模块化代码的设计。
请求转发与重定向之间的差异:
一、请求次数
请求重定向是浏览器向服务器发送一个请求并在收到响应后再次向一个新地址发出请求,请求转发是服务器收到请求后为了完成响应跳转到一个新的地址;请求重定向至少请求两次,请求转发只请求一次。
2、地址栏不同
请求重定向地址栏会发生变化,而请求转发地址栏不会发生变化。
3、是否共享数据
请求重定向的两次请求不共享数据,请求转发的一次请求共享数据(如果想在request作用域中使用共享数据,那么使用请求重定向必然无法共享request域中的数据)。
4、跳转限制
请求重定向可以跳转到任意URL,请求转发只能跳转到本站点的资源。
5、发生行为不同
请求重定向是客户端行为,请求转发是服务器端行为。