重定向和转发的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重定向和转发的区别相关的知识,希望对你有一定的参考价值。
重定向
转发
重定向:
客户端像服务器端发送请求,服务器告诉客户端你去重定向(状态码302,响应头location=客户端绝路路径),客户端继续像服务器发送请求(请求地址已经成重定向的地址),服务器端给客户端响应
转发
客户端像服务器端发送请求,服务器将请求转发到服务器内部,在响应给客户端
重定向
response.setStatus(302) response.setHeader("location","/项目名称/资源"); 或者简写成 response.sendRedirect("/项目名称/资源")
转发
getRequestDispatcher(“/资源”) .forward(request.response)
区别:
什么时候使用重定向,什么时候使用转发
- 转发地址栏不变(一次请求),重定向地址栏变化(两次)
- 转发不用写项目名称,重定向需要编写项目名称
- 转发可以使用request对象传递值,重定向不可以使用request对象传递值
- 转发只能在服务器的内部进行操作,重定向可以定向到任何的资源!!
以上是关于重定向和转发的区别的主要内容,如果未能解决你的问题,请参考以下文章