Chrome发送请求出现:Provisional headers are shown 提示

1,150 阅读1分钟

现象

跨域请求,未收到回复,请求提示【provisional headers are shown】

问题

这个问题意思字面意思是“显示了临时报文头”,浏览器第一次发送这个请求,请求被阻塞,未收到响应。当要求浏览器再次发送这个请求时,上个同样的请求都还没有收到响应,浏览器就会报这个警告。

总结原因

  • 请求被某些扩展如 Adblock ,划词翻译拦截了,请求被浏览器插件拦截
  • 请求被墙
  • 走本地缓存或者 dataurl 的请求。如果上一个资源加载失败,可能导致从缓存加载的资源失败,即缓存资源请求之前的请求不能失败。强缓存from disk cache或者from memory cache,此时也不会显示
  • 服务器出错或者超时,没有真正的返回。client发送请求后,由于各种原因,比如网络延迟,server端逻辑错误,导致client端长时间未收到响应。解决方案:改正占用很长时间的server端程序
  • 跨域,请求被浏览器拦截;但这时候返回应该能看到相关提示

分析

由于只有个别人出现这种状态,大部分人能正常返回;而且别的浏览器也可以,所以基本确定是第一个原因(插件拦截);所以就是逐一排查插件即可