Provisional headers are shown

作者: bkbtp 分类: 前端 发布时间: 2018-11-17 16:54

有时候项目会出现一些怪异的现象,比如,请求接口之后,足足等待了一二十秒才返回数据,或者等了很久之后直接报错。
这时候看控制台,会发现,在chrome下,会出现一个 Provisional headers are shown
查了下,这个现象大概意思就是请求被阻塞了。
出现这种情况一般有以下几种可能:

表单提交和ajax请求同时触发的情况

比如一个 type='submit' 的按钮同时还绑定了ajax请求,这是一个比较常见的容易失误的地方

部分chrome插件错误干扰拦截

可以使用chrome自带的抓包工具 chrome://net-internals/#events ,重新触发一下请求,然后查看出现 Provisional headers are shown 的请求的日志,查看是否存在 delegate_blocked_by 的关键字;
这种一般是由于浏览器端的插件或客户端的软件对请求进行了拦截;我们出现的情况,是被 websense endpoint拦截;

ps: chrome升级71+之后,工具亦无法使用

服务器端部署架构问题

基于部署架构来进行排查,做一些压力检测之类的。一般都是nginx层面卡住或者F5层面的负载均衡策略的问题。
可以尝试重装nginx或者修改负载均衡策略。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。