转发与重定向的区别
- 转发是服务器行为,当客户端向服务器端发送一个请求时,服务器端带着请求中的url直接转发到另一个url当中,然后携带数据响应客户端。转发是一次请求,一次响应
- 重定向是客户端行为,当客户端向服务器端发送请求时,服务器端携带一个新的url返回客户端,告知客户端去访问新的url,此时客户端重新访问新的url,并接收服务器端的响应。重定向是两次请求两次响应
- 如果一次请求中携带有数据,重定向会导致数据的丢失,转发不会丢失数据
- 重定向会发生url地址的改变,转发不会发生url地址的改变
- 重定向的url地址需要加上工程名,转发的url地址不需要加上工程名
转发与重定向的应用场景
如果请求当中携带有数据,那么使用转发而不使用重定向
重定向与转发的流程图