Http客户端跳转和服务器端跳转的区别

服务器端跳转:

     服务器转发全程是没有客户端参与的,都在web container容器内部进行,没有任何服务器和客户端的通信,实际就是服务器内部的跳转。 这次forward, 服务器没有构建HttpServletRequest对象和HttpServletResponse对象而是将原来的HttpServletRequest对象和HttpServletResponse对象传递给jsp过去。

客户端跳转:

   当sendRedirect方法被执行,同时也意味着一次http request请求的结束。 此时,服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url。当客户端根据302状态码发送新的请求到到新的url的时候,新的请求-响应流程重新开始,这时候服务器重新创建HttpServletRequest对象和HttpServletResponse对象.此时两个请求已经不在一个线程了,更不用说request和response对象了。

   

原文地址:https://www.cnblogs.com/java-cjt/p/4151083.html