JavaWeb服务器转发和客户端重定向的区别

本文详细介绍了服务器转发和客户端重定向的区别,包括请求次数、地址栏变化、数据共享、跳转限制以及执行方式。服务器转发是内部操作,地址栏不变,数据可共享;而重定向导致两次请求,地址栏改变,数据不共享。了解这些差异对于Web应用开发至关重要。

写在前面:任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家在评论区留言讨论。

服务器转发和客户端重定向的区别

服务器端转发:Request.getRequestDispatcher(“index.html”).forward(request,response)

  • 内部转发,客户端并不知道内部经过多少次转发

  • 客户端重定向Response.sendRedirect(“index.html”)

    • 重定向,出现这句话,客户端立即相应给客户端,告诉客户端,再发一次请求,给重定向的网页,地址栏也变化了,客户端是明确知道我进行了跳转的
  • 1、请求次数

    重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次;

    2、地址栏不同

    重定向地址栏会发生变化,转发地址栏不会发生变化;

    3、是否共享数据

    重定向两次请求不共享数据,转发一次请求共享数据(在request级别使用信息共享,使用重定向必然出错);

    4、跳转限制

    重定向可以跳转到任意URL,转发只能跳转本站点资源;

    5、发生行为不同

    重定向是客户端行为,转发是服务器端行为;

对于文章中出现的任何错误请大家批评指出,一定及时修改。
有任何想要讨论和学习的问题可联系我:
邮箱:577371067@qq.com
不足之处请大家指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值