为何预检OPTIONS请求在实际GET请求之后被显示?
Chrome跨源请求OPTIONS预检晚于GET显示的原因
你看到的这种OPTIONS预检请求在Chrome开发者工具里晚于GET请求出现的情况,是浏览器的推测性资源加载优化机制导致的:
- Chrome会预判可能发起的跨源GET请求,提前发起GET请求建立连接,同时并行触发OPTIONS预检请求
- 网络面板的请求顺序是按发起时间排序,但浏览器会严格等待OPTIONS响应返回、确认跨源请求被允许后,才会解析和处理GET请求的响应内容,不会直接使用提前发起的GET响应
- 这种优化是为了减少加载等待时间,但完全遵循CORS安全规则——如果OPTIONS预检失败,浏览器会直接丢弃GET请求的响应,不会把内容交给页面脚本

内容的提问来源于stack exchange,提问作者u936293
相关产品推荐
相关产品推荐

