后端响应的时候发送http状态码为301或者302,同时响应头location属性设置新的地址,浏览器会拿着这个新地址去访问。
转发是一种后台概念。大致流程是:前端通过http请求
后端资源,后端根据请求在容器内部进行转发至其他的功能模块处理这个请求,将目标资源返回给页面。通常用来转发模板页面。
以java为例。客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在student_list中都能取出来,因此,student_list能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端。整个过程是一个请求,一个响应。
重定向是基于http协议来完成 而转发只是一种约定俗成的叫法。