现象
跨域请求,未收到回复,请求提示【provisional headers are shown】
问题
这个问题意思字面意思是“显示了临时报文头”,浏览器第一次发送这个请求,请求被阻塞,未收到响应。当要求浏览器再次发送这个请求时,上个同样的请求都还没有收到响应,浏览器就会报这个警告。
总结原因
- 请求被某些扩展如 Adblock ,划词翻译拦截了,请求被浏览器插件拦截
- 请求被墙
- 走本地缓存或者 dataurl 的请求。如果上一个资源加载失败,可能导致从缓存加载的资源失败,即缓存资源请求之前的请求不能失败。强缓存from disk cache或者from memory cache,此时也不会显示
- 服务器出错或者超时,没有真正的返回。client发送请求后,由于各种原因,比如网络延迟,server端逻辑错误,导致client端长时间未收到响应。解决方案:改正占用很长时间的server端程序
- 跨域,请求被浏览器拦截;但这时候返回应该能看到相关提示
分析
由于只有个别人出现这种状态,大部分人能正常返回;而且别的浏览器也可以,所以基本确定是第一个原因(插件拦截);所以就是逐一排查插件即可