fetch http请求被转成https?

博客探讨了fetch API请求http资源时被自动转换为https的问题,通过排除法确定并非fetch API被修改或浏览器bug导致,最终发现在HTML中特定的meta标签(Upgrade-Insecure-Requests)是问题源头。此首部指示浏览器优先选择加密响应,影响了fetch行为。同时,文章提到fetch API目前无法直接获取上传进度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fetch http请求被转成https,以及fetch问题相关记录

http自动被转成https

  • 请仔细看下图
    在这里插入图片描述
    我们可以很简单的发现,我用的是原生api,然后请求一个http协议的,为什么报错提示的却是GET https:// why?按理来说,这个报错应该为http:// xxxx

  • 基于上面的问题,我们可以推测,这个fetch和标准的fetch有差异。
    然后我们很显然会去思考这个差异是哪里的来的?我们可以做以下猜测

  1. 最容易改浏览器fetch api的方式就是window.fetch = xxx…,可能是做了类似操作引起了上面的问题。
  2. 浏览器出bug了
  3. 有其他东西影响了,原生的fetch api让他表现出差异

然后我们可以先开始验证前两条猜测的正确性

1.我们可以很简单发现第一条显然不成立

在这里插入图片描述
如果我们修改了原生fetch api,我们打印fetch的值得时候,就会显示我们修改之后的值。所以问题不是因为修改了fetch api 引起的。

  1. 第二条也很好验证,在这里就不验证了。这个可能性比较小

那么我们可以得到肯定

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值