问题背景

在业务中实现一个上传文件的功能,为了减少文件在服务器流转的次数,直接给前端在目标服务器上开放了一个api,用于上传文件, 在对接时前端发送请求时出现了 provisional headers are shown 报错请求直接被取消了。前端同学 搜索了下 就说是跨域问题,可以后端明明写了允许跨域,但问题依然存在。
通过搜索引擎发现该问题出现的原因无外乎以下几点:

  • 跨域,请求被浏览器拦截
  • 请求被浏览器插件拦截
  • 服务器出错或者超时,没有真正的返回
  • 强缓存from disk cache或者from memory cache,此时也不会显示

但是没有具体的排查过程,这里记录下排查过程。本文不写解决方法 因为我是后端人员 不太懂前端,只是排查出了问题边界。

结论

这里先写结论: 后台的接口为https, 但是签名使用的是自签名证书,前端访问该接口时ssl 握手失败 浏览器直接将请求取消了。 解决思路:1. 前端发送请求时忽略证书 2. 后端使用机构颁发的证书。

排查流程

  1. chrome 打开 chrome://net-export/ 单击start Logging to disk 按钮 选择日志文件保存的地址 注:net-export用于排查浏览器的TCP/IP 问题.旧版本使用net-internals
  2. chrome 请求刚刚失败的接口,请求后回到net-export 页面 单击stop。
  3. 打开 https://netlog-viewer.appspot.com/ 选择我们刚刚保存下来的日志文件 选择 Envent。出现以下页面
  4. 找到刚刚请求的地址 查看其日志。逐个排查后找到了关键的报错信息。 这里告诉我们 ssl 握手失败了, 也就是请求根本就没有发送出去就被取消了,排除了后端的的问题
  5. 回到请求接口的页面 F12 点击Security 标签,观察到刚刚的请求被取消了, 也就验证了步骤4的结论

验证

浏览器地址栏直接输入api的一个get 请求的地址,出现以下页面,该页面出现的原因是 使用的证书为自签名证书,浏览器不信任该证书。

单击继续前往。该操作其实是忽略指定地址的证书。

重新调用失败的接口 发现成功了。所以该碰见Provisional headers are shown 的原因是因为证书不被浏览器信任 请求直接被取消了。

解决思路

  1. 前端请求指定接口时忽略证书
  2. 后端使用机构颁发的证书

provisional headers are shown问题排查相关推荐

  1. http文件上传请求在ie浏览器中被挂起,在chrome中出现Provisional headers are shown

    最近项目在运行过程中用户们又反应了一个问题,说会偶尔出现图片上传失败的情况.然后将那些失败的图片拿过来进行验证,果然问题出现了,用ie浏览器在上传附件时,会显示这个请求挂起了.用谷歌浏览器在上传附件时 ...

  2. 解决前端小程序Provisional headers are shown问题

    解决前端小程序Provisional headers are shown问题 问题的情况 问题的情况 单个接口请求头部分出现了Provisional headers are shown警告⚠️,其余接 ...

  3. 微信小程序上传图片时provisional headers are shown显示我的错误解决方案

    按微信官方图片示例上传图片的时候,出现了 provisional headers are shown的错误信息,同时查看返回的信息Connection:close为关闭状态,这就坑得了.找了好久没找到 ...

  4. Provisional headers are shown in Chrome network tab

    Created by Wang, Jerry on Oct 15, 2015 细心的同学应该留意到,新版开发者工具的 Network 面板中,某些请求头后面会跟着下面这行文字: 截图是访问 http: ...

  5. 微信小程序开发 Request Headers: Provisional headers are shown

    在微信小程序开发的时候,写了两个API请求: 请求A: //请求Awx.request({url: 'https://wx.baidu.com/api/wx/getBallByDate',method ...

  6. IIS 部署asp.net Provisional headers are shown 在VS2005返回值,部署不返回值

    IIS 部署asp.net Provisional headers are shown 在VS2005调试返回值,部署到IIS不返回值 首先当时为了跨域的问题,在上面 后来把跨域的内容放在IIS去解决 ...

  7. 解决浏览器 Provisional headers are shown 无法向后台发送请求问题

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 我的情况和下面情况一样,有一个断点. 今天调试项目BUG,页面的一个按钮点击后页面无反应,去后台找对 ...

  8. chrome 发送请求出现:Provisional headers are shown 提示

    一般来说,如果看到provisional headers are shown这个提示,说明这个请求并没有发送出去. 具体原因有多种总结如下: 1.请求被某些扩展如 Adblock 拦截了,请求被浏览器 ...

  9. Provisional headers are shown问题

    出现的问题 有一种情况是所有的网页刷新不出来,正常连接了internet网页也无法刷新出来, 还有一种情况是,百度网页可以刷新出来,google网页刷新不出来, 去chrome控制台network显示 ...

  10. 谷歌 Provisional headers are shown 和360急速模式 网络连接错误

    目前项目中遇到了几次Provisional headers are shown的问题: 一次是在vue项目中, ,显示200正常,返回值在浏览器也可见,但是在axios中获取时,浏览器报错,无法获取返 ...

最新文章

  1. css实现 textarea 高度自适应
  2. Eigen矩阵的运算(二)
  3. 如何让PHP以root权限执行系统命令
  4. 常见的几种最优化方法
  5. 创业公司如何做数据分析(四)ELK日志系统
  6. 产品认识:一个可直接套用的产品分析框架(纯干货)
  7. View绘制--onMeasure() 、onLayout()
  8. mac matlab 中文乱码,MAC让Matlab编辑器显示中文的方法
  9. java 指针 引用_java中的引用与c中的指针
  10. 值类型和引用类型及其区别!
  11. python binascii模块详解
  12. 对于文章的字母、单词、短语,(无用词表)的检索Java代码实现
  13. 基于win10系统下用vs2019编译flightgear2020.4.0
  14. 纯HTML个人清新网站源码
  15. 递归算法经典实例小结(C#实现)
  16. 高斯克吕格投影中有关带号与经度的关系
  17. IDispatch接口原理与应用
  18. mysql数据库链接_连接MySQL数据库
  19. CHK文件恢复工具v2.0绿色版
  20. 计算机专业如何改革创新的生力军,年轻干部如何真正成为改革创新的生力军?...

热门文章

  1. 苹果iOS捷径(快捷指令)修改网页元素:移动端开发者工具console的替代方案
  2. 从基础描述无刷直流电机的工作原理
  3. 关于资产分池ABS等金融衍生品内容来袭
  4. 以太坊源码阅读【Transaction(交易模块)】
  5. 【OKR案例合集】产品、研发、设计岗位的OKR案例合集
  6. 基于低代码平台的OA系统,更灵活高效!
  7. CSS背景颜色、背景图片、背景填充
  8. VUE框架应用包---------微信二维码应用
  9. 计算机如何共享文件夹给另一台电脑,如何共享文件夹到另一台电脑,两台电脑要怎么共享文件呢?...
  10. 阿里云商标注册查询入口(支持图形检索/45分类注册风险)