更新地址:https://blog.csdn.net/BigBug_500/article/details/102671394
转发是服务器行为,重定向是客户端行为。
从地址栏上来讲:
forward的地址栏不会变化,响应的内容是服务器通过其他URL读取到的;
redirect的地址栏会变化,是服务器返回301/302状态码告诉客户端去请求新的URL地址
从数据共享上来讲:
由于在forward中,只有一次request,服务器将request和response交给下一个地址,所以多个转发页可以共享到request中的数据;
redirect发生了两次request,所以不能共享数据
HTTP状态码
分类:
2**:成功,操作被成功接收并处理
3**:重定向,需要进一步的操作以完成请求
4**:客户端错误,包含语法错误或无法完成请求
5**:服务器错误,服务器在执行过程中发生了错误
列表:
200:表示请求已成功,请求所希望的响应头或数据体将随此响应返回
202:服务器已接受请求,但尚未处理
301:被请求的资源已永久移动到新位置
302:请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。一般重定向都是这个状态码。
304:自从上次请求后,请求的网页未修改过。如jq文件,logo
403:服务器已经理解请求,但是拒绝执行它
404:请求失败,请求所希望得到的资源未被在服务器上发现
500:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般是服务器的程序码出错时出现
502: 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。例如Nginx转发请求后,无法 收到或理解 响应时,返回的状态码。
503:由于临时的服务器维护或者过载,服务器暂时无法处理请求
504: 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器收到响应。例如当Nginx超过配置的超时时间还没有收到响应时,就返回504错误。