深入理解重定向与请求转发过程

一、重定向

1、过程:用户访问OneServlet,而OneServlet中有重定向的代码。这行代码会导致tomcat接受请求后发送302状态码响应及对应新的location给客户浏览器。浏览器收到响应包发现状态码是302后自动发送第二次请求访问重定向中的地址。此时浏览器的url已经发生了用户可见的变化。
2、注意:
1)重定向至少发送了两次请求。
2)重定向可以访问外部资源。

深入理解重定向与请求转发过程
重定向中的状态码以及location:
深入理解重定向与请求转发过程

二、请求转发

1、过程:用户第一次访问OneServlet,工作完毕后,通过当前请求对象代替浏览器向tomcat发送请求,申请调用另一个Servlet。tomcat收到请求后自动调用。
2、注意:
1)请求转发只发送了一次请求,共享同一个request对象,可进行数据共享。
2)只能访问该网站内部资源。
深入理解重定向与请求转发过程

白话总结:

重定向:
你先去了A局,A局的人说:“这个事情不归我们管,去B局”,然后,你就从A退了出来,自己乘车去了B局。其中过程你是知道的。

请求转发:
你先去了A局,A局看了以后,知道这个事情其实应该B局来管,但是他没有把你退回来,而是让你坐一会儿,自己到后面办公室联系了B的人,让他们办好后,送了过来。其中的过程你是不知晓的。