客户端跳转和服务器跳转的区别以及各位困惑的在哪用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端跳转和服务器跳转的区别以及各位困惑的在哪用相关的知识,希望对你有一定的参考价值。

技术分享客户端跳转与服务器端在哪用
forward是服务器请求资源,就是把所有参数都带上。服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重sendRedirect: 这个只是跳转,但是没有把查询参数带上,如果你想带参数的话,就得自己构造URL,就是那个location.

客户端跳转与服务器端跳转的区别

客户端跳转时用HttPservletResopse对象的sendRedirect函数实现,服务器端跳转是使用RequestDispather对象的forward方法实现的。这两者之间的区别主要体现在三个方面:

1. 使用服务器端跳转时,客户浏览器的地址栏并不会显示目标地址的URL,而是用客户端跳转时,地址栏当中会显示目标资源的URL;

2. 服务器端跳转是由客户端发送一个请求,请求一个服务器资源——如JSP和Servlet——,这个资源又将请求转到另一个服务器资源,然后再给客户端发送一个响应,也就是说服务器端跳转是客户端发送一次请求,服务器端给出一次响应;而客户端跳转的流程则不同。客户端同样是发送一个请求给服务器端资源,这个服务器资源会首先给客户端一个响应,客户端再根据这个响应当中所包含的地址,再次向服务器端发送一个请求,也就是说客户端跳转是两次请求,两次响应;

3. 在进行客户端跳转和服务器端跳转时,都需要指定目标资源的URL,如果这个路径以“”开始。在客户端跳转当中“”代表的是应用服务器根目录,而在服务器端跳转当中代的是应用程序根目录表。

 

 

 

以上是关于客户端跳转和服务器跳转的区别以及各位困惑的在哪用的主要内容,如果未能解决你的问题,请参考以下文章

求解惑,关于js跳转和header跳转的区别

转:HTTP 301 跳转和302跳转的区别

android--显式跳转和隐式跳转的区别用法

相对跳转和绝对跳转的区别

response跳转 request跳转

服务器端跳转和客户端跳转