HTTP状态码302的跳转逻辑
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HTTP状态码302的跳转逻辑
1. HTTP状态码302的跳转逻辑
302状态码表⽰重定向,浏览器在拿到服务器返回的这个状态码后会⾃动跳转到⼀个新的URL地址,这个地址可以从响应的Location⾸部中获取(⽤户看到的效果就是他输⼊的地址A瞬间变成了另⼀个地址B。
2. 302与301的区别和使⽤场景
301是永久重定向,⽽302是临时重定向。
301适合做永久重定向; 302适合做临时的跳转。
301的定义:301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引⽤都应该使⽤本响应返回的若⼲个URI之⼀。
如果可能,拥有链接编辑功能的客户端应当⾃动把请求的地址修改为从服务器反馈回来的地址。
除⾮额外指定,否则这个响应也是可缓存的。
302的定义:302 Found 请求的资源现在临时从不同的URI响应请求。
由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。
只有在Cache-Control或Expires中进⾏了指定的情况下,这个响应才是可缓存的。
3. 服务器端跳转和客户端跳转的区别
服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显⽰⽬标地址的URL),客户端请求到达以后,服务器发现当前资源给不出回应,在服务器内部请求另⼀个资源的跳转。
所以跳转与否客户端不知道,属于⼀次请求。
客户端跳转是指地址栏内容发⽣改变,客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求。
客户端请求到达服务端,服务端返回⼀个 “去访问其他链接” 的回应。