ERR_CONTENT_DECODING_FAILED解码失败原因

圆圆 0 2026-05-11 12:02:05

ERR_CONTENT_DECODING_FAILED错误来源于浏览器声明的编码格式(如gzip/br)与实际响应内容不匹配。常见原因包括:服务器标压缩头未真实压缩、UTF-8 BOM干扰、WebGL压缩格式与Nginx配置不匹配。

err_content_decoding_failed解码失败原因

您如果在浏览器中加载网页资源(如视频、AJAX响应、HTML页面或Unity) WebGL构建包)时遇到ERR_CONTENT_DECODING_FAILED gzip或br),但实际内容未按该格式压缩,导致解码失败。以描述:一、服务器启用gzip但内容未真实压缩

当Web服务器(如Nginx、Apache)配置了gzip PHP输出缓冲冲突、框架自动输出、BOM头干扰等),响应头仍进行Content-Encoding: gzip,浏览器将尝试解压纯文本内容,从而触发解码失败。

1. gzip 或 Content-Encoding: br,同时观察响应体是否为二进制乱码(若为明文HTML/JSON,则确认未压缩生效)。

2、临时关闭 Nginx 的 gzip 模块:在 nginx.conf 中注释或设置 gzip off;,然后执行 nginx -s reload。

3、若使用 PHP,检查 php.ini 中zlib.output_compression开启是否;若开启,确保无前置作业(如BOM、echo、var_dump)干扰ob_gzhandler。二、HTML或PHP入口文件存在UTF-8 BOM头

BOM(Byte Order Mark)是UTF-8文件开头的不简单字节序列(EF BB BF),会作为实际输出提前发送至浏览器,破坏gzip VS Code插件十六进制编辑器、Notepad++)打开index.php或模板文件,确认文件开头无 EF BB BF 字节。

2、在 VS Code ThinkPHP 或其他框架中,检查调试模式是否开启——部分版本会在调试处理中,介入主响应流转服务修改转换码头

当请求转发代理(如 Nginx 代理 Spring Boot)、网关或中间件转发时,若代理未透传或错误重定向 Accept-Encoding / Content-Encoding,代理未正确处理或二次封装,使浏览器收到矛proxy_set_header: proxy_set_header Accept-Encoding "";。

分析稿Ai写作

>

2. http://your-domain/resource http://your-domain/resource比对原始响应头与代理后响应头是否一致。务器不支持范围请求(Range)且误标编码

常见Accept-Ranges: bytes,却在响应中声明Content-Encoding: gzip,浏览器可能在尝试解码首个字节块时失败。

1、执行curl -I http://example.com/video.mp4:配置中为视频路径取消gzip:位置 ~ \.(mp4|webm|ogg)$ { gzip off; add_header 接受范围字节; }。

3. body长度为1024 .br(Brotli)和.gz(gzip)压缩文件,若Nginx未实现brotli br编码而实际返回明文。

1、确认Nginx已编译并启用ngx_brotli模块,并在配置中添加brotli on; brotli_types application/wasm text/plain text/css text/js text/xml text/javascript application/javascript application/json application/xml application/xml+rss application/vnd.api+json;

2、检查Unity导出设置中压缩格式是否为Disabled、Gzip 或 Brotli;若设置Brotli,Nginx必须支持并提供对应文件(如build.json.br)。

3、若外围快速验证,将播放器设置→发布设置→压缩格式改为禁用并重新删除,避免任何编码干扰。

上一篇:电脑屏幕显示无信号是怎么回事 电脑屏幕显示无信号电源灯闪烁
下一篇:笔记本浏览器怎么清理缓存 笔记本浏览器怎么设置默认网页
相关文章
返回顶部小火箭