在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. ActiveMQ学习笔记(18)----Message高级特性(二)

    1. Blob Message 有些时候,我们需要传递Blob(Binary Large Objects)消息,在5.14之前,(5.12和5.13需要在jetty.xml中手动开启)可以按照如下的方 ...

  2. plsql 查询历史执行语句

    control+e. 如果执行删除.修改.增加的操作,未提交的历史记录中也有.

  3. 死锁,线程协作(同步,阻塞队列,Condition,管道流)

    synchronized死锁 package com.thread.demo.deadlock; public class DeadLock { private static Object lock1 ...

  4. 使用windowbuilder的时候更方便——设置默认把控件生成为成员变量而不是局部变量

    找了一大圈,最后还是上Google才找到这个方法的.以前改过了,重新设置工作目录之后设置都丢失了,却找不到改的办法,这次长个记性,记在自己博客里. 设置成成员属性的好处是随后使用这些控件的时候方便.

  5. dedecms如何把时间戳转换成正常时间格式

    如果在datalist 可以用{dede:field.shijian function=strftime('%Y-%m-%d',@me)/} 如果不在datalist中调用的话,单独调用用<?p ...

  6. Mean, Median, Mode, Range, and Standard Deviation

    Descriptive statistics tell you about the distribution of data points in data set. The most common m ...

  7. 解决The hierarchy of the type is inconsistent错误

    可能的原因:自己的类继承于某个类,这个类或者这个类继承的类或者再往上继承的某个类所在的jar包没有被引入. 比如:使用Spring的AOP时,假设须要继承MethodBeforeAdvice和Afte ...

  8. IOS音频架构之Audio Unit

    在前面的章节部分我们已经对IOS音频结构有了一个清晰的认识,知道Audio Unit是位于整个音频结构的最底层,这一层非常多API已经開始和硬件打交道了.所以比較复杂,有了前面的基础再来看这个部分就比 ...

  9. less02-变量

    html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  10. java操作文件的创建、删除、遍历

    java操作文件的创建.删除.遍历: package test; import java.io.File; import java.io.IOException; import java.util.A ...