在POST请求中偶尔会出现“CAUTION: Provisional headers are shown”

这个警告的意思是说:请求的资源可能会被(扩展/或其它什么机制)屏蔽掉。

之所以会出现这个警告。是由于去获取该资源的请求事实上并(还)没有真的发生,所以 Header 里显示的是伪信息,直到server真的有响应返回,这里的 Header 信息才会被更新为真实的。

只是这一切也可能不会发生。由于该请求可能会被屏蔽。比方说 AdBlock 什么的,当然了不全是浏览器扩展。详细情况详细分析了。

对了。别忘了用 chrome://net-internals 来帮助你查找被屏蔽的请求以及可能的原因。


Net Internals 是一套工具集合,用于帮助诊断网络请求与訪问方面的问题,它通过监听和搜集 DNS。Sockets。SPDY,Caches 等事件与数据来向开发人员反馈各种网络请求的过程、状态以及可能产生影响的因素。

然而。原因千千万,Net Internals 不可能那么聪明的就直接帮你分析出答案来,大多数情况下详细原因还是须要开发人员通过抽丝剥茧自己来找原因的。

试举例:我打开某 Web App,却发现一直空白。打开 Developer Tools 的 Networking,发现例如以下图所看到的

好吧,貌似是这个资源无法訪问了。可是详细原因是否能知道呢?OK,打开 chrome://net-internals。又一次刷一遍这个
Web App,然后你会看到 NI 的 events 蹭蹭蹭地变多了。进入 events 界面。试着搜索一下keyword(也就是在第一张图里看到的请求地址中的keyword),看:

好吧……你要问我“IO Pending”代表出了什么问题?坦白地说在这个样例里我也不知道怎样解释。可是我知道它大概和 Amazon S3 有点关系。也许非常多时候你还是得进一步借助 Google、StackOverflow、包含 SegmentFault

OK,实际上是由于被墙所以 Response 收不到,我翻了就好了……这个样例可能不具有代表性,再试举一例:

还是一样。先看到错误:

So why is that?

好的,这样就清楚多了:连接超时。

至于为什么连接超时,这就不是 NI 的职责范围了,你须要进一步去探究造成连接超时的原因(好吧,事实上还是由于 GFW)。

一时半会儿找不到更好的样例了。我知道还多人研究 NI 都是由于做 Chrome Extension 时产生的问题,不管怎样试试用 NI 去过滤一遍你的应用全部的(出问题的)请求,那些反馈信息的确不是非常好读,你可能须要不断借助 Google 大神,花费非常多力气。

只是相信我,尝试几次就会慢慢抓住窍门,也会慢慢体会到 NI 各种功能的用处。

关于post请求“CAUTION: Provisional headers are shown”【转】的更多相关文章

  1. Chrome 里的请求报错 "CAUTION: Provisional headers are shown" 是什么意思?

    在调试器中看到文件显示提示为 CAUTION: Provisional headers are shown, 可是直接复制链接访问资源却可以正常访问, 最后发现是https 问题,资源采用ssl协议, ...

  2. 【转】Provisional headers are shown

    在chrome开发者工具的 Network 面板中,某些请求头后面会跟着下面这行文字: Provisional headers are shown 这种请求实际上根本没有产生,对应的请求头当然也不应该 ...

  3. provisional headers are shown 知多少

    前言 请求里面provisional headers are shown(显示临时报头) 出现的情况很多,但原因是多样的. 如果你去直接匹配关键字搜索,得到的结果可能与你自己的情况大相径庭. 网上大部 ...

  4. Provisional headers are shown

    问题: Chrome请求出现"Provisional headers are shown": 原因: 这种一般是由于浏览器端的插件或客户端的软件对请求进行了拦截:我们出现的情况,是 ...

  5. 解决provisional headers are shown问题

    前端通过ajax的get请求向后端发送数据,后端死活收不到. ajax代码如下: $.ajax({ url:"/news_list", type:"GET", ...

  6. 【转】provisional headers are shown 知多少

    前言 请求里面provisional headers are shown(显示临时报头) 出现的情况很多,但原因是多样的.如果你去直接匹配关键字搜索,得到的结果可能与你自己的情况大相径庭.网上大部分都 ...

  7. 请求头里显示Provisional headers are shown的问题

    1.问题描述: 在工作中遇到了一个坑.登录一个系统的时候,退出登录不好使了,前端确实调用了logout的接口(退出接口),但是这个接口的请求头显示Provisional headers are sho ...

  8. http请求头出现provisional headers are shown

    http请求头出现provisional headers are shown Provisional headers are shown provisional 详细用法>> 英 [prə ...

  9. 请求头出现Provisional headers are shown

    provisional headers are shown 知多少:https://juejin.im/post/5c00980751882518805add83 请求头出现Provisional h ...

随机推荐

  1. H5中嵌入flash

    <object height="900px" width="100%" classid="clsid:D27CDB6E-AE6D-11cf-96 ...

  2. c/s结构的自动化——pyautogui

    环境:Python 3.5.3 pip install pyautogui -i http://pypi.douban.com/simple --trusted-host pypi.douban.co ...

  3. nginx 多级7层代理安装配置

    编译安装 yum install zlib-devel -y wget https://nginx.org/download/nginx-1.15.12.tar.gz tar -zxf nginx-1 ...

  4. 一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路

    原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路   针对新手入门的普及,有过大型网站技 ...

  5. python基础4(小数据池,编码,深浅拷贝)

    1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num ...

  6. pointer-events的css属性。使用该属性可以决定是否能穿透绝对定位元素去触发下面元素的某些行为

    pointer-events的css属性.使用该属性可以决定是否能穿透绝对定位元素去触发下面元素的某些行为,比如当一个元素盖住了某个点击事件时可用. 现在Firefox3.6+/Safari4+/Ch ...

  7. iOS gzip解压

    1. 导入libz库(如:libz 1.2.5.dylib) 2. 引入头文件 #import "zlib.h" 3. 实现解压(输入输出都为NSData对象) -(NSData ...

  8. Java 深拷贝和浅拷贝 利用序列化实现深拷贝

    Java 深拷贝和浅拷贝 转自:http://www.cnblogs.com/mengdd/archive/2013/02/20/2917971.html 深拷贝(deep clone)与浅拷贝(sh ...

  9. vue -- 7 个 有用的 Vue 开发技巧

    1 状态共享 随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vu ...

  10. Anaconda升级

    Anaconda是可以进行升级的, 这样就省的重装一遍python全家桶了, 比如:   conda update conda conda install anaconda=2018.12   就可以 ...