You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chromium≥94版本大文件请求返回200但响应为null问题咨询

你遇到的是Chromium 94及以上版本的默认安全策略变更导致的问题,不是请求代码的逻辑错误。

可能的原因

1. 私有网络访问(CORS-RFC1918)策略强制生效

Chromium 94开始默认开启私有网络访问安全限制,如果你的页面部署在公网域名下,请求的资源在内网域名/IP下(或反向场景),浏览器会在实际请求前自动发送OPTIONS预检请求,要求后端服务返回符合要求的响应头:

  • 必须响应OPTIONS请求返回200/204状态码
  • 必须返回Access-Control-Allow-Private-Network: true响应头
  • 常规CORS头(Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers)也必须符合校验要求
    如果后端未处理该预检请求,浏览器会直接拦截响应体,即使实际GET请求返回200,拿到的响应也会是null,完全匹配你遇到的表现。

2. 自定义请求头触发CORS预检未被正确处理

你的Fetch代码中添加了非标准请求头importance: low,该头不属于CORS安全列表头,跨域请求携带该头会自动触发OPTIONS预检。Chromium 94对预检的校验逻辑比旧版本更严格,之前版本存在的兼容漏洞在94版本被修复,就会出现旧版正常、新版响应被拦截的情况。

3. 响应头缺失导致大文件解析异常

如果你的大文件响应使用Transfer-Encoding: chunked返回,且未携带Content-Length头,Chromium 94对大体积chunked响应的解析逻辑存在变更,当文件体积超过256MB阈值时可能出现响应体解析失败返回null的情况。

验证方法

你可以给Chrome/Edge添加启动参数--disable-features=PrivateNetworkAccessForDownloads,或者临时添加--disable-web-security(仅用于测试,不可作为生产方案),如果启动后请求正常返回,即可确定是安全策略变更导致的问题。

修复方案
  • 私有网络访问策略导致的:后端改造,正确处理OPTIONS预检请求,返回要求的Access-Control-Allow-Private-Network: true头
  • 自定义请求头导致的:要么移除请求中的importance头,要么后端在预检响应的Access-Control-Allow-Headers中添加importance字段
  • 响应头缺失导致的:后端给大文件请求响应添加正确的Content-Length头

内容的提问来源于stack exchange,提问作者pcvnes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:54:03