重定向和转发的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重定向和转发的区别相关的知识,希望对你有一定的参考价值。

重定向
技术分享图片
转发
技术分享图片

重定向:
客户端像服务器端发送请求,服务器告诉客户端你去重定向(状态码302,响应头location=客户端绝路路径),客户端继续像服务器发送请求(请求地址已经成重定向的地址),服务器端给客户端响应

转发
客户端像服务器端发送请求,服务器将请求转发到服务器内部,在响应给客户端

重定向
response.setStatus(302) response.setHeader("location","/项目名称/资源"); 或者简写成 response.sendRedirect("/项目名称/资源")

转发
getRequestDispatcher(“/资源”) .forward(request.response)

区别:
什么时候使用重定向,什么时候使用转发

  • 转发地址栏不变(一次请求),重定向地址栏变化(两次)
  • 转发不用写项目名称,重定向需要编写项目名称
  • 转发可以使用request对象传递值,重定向不可以使用request对象传递值
  • 转发只能在服务器的内部进行操作,重定向可以定向到任何的资源!!

以上是关于重定向和转发的区别的主要内容,如果未能解决你的问题,请参考以下文章

重定向和转发

转发和重定向的区别

SpringMVC框架如何实现请求转发和重定向呢?

转发和重定向的区别

转发和重定向的区别

重定向和转发的区别