javascript-无法加载资源:net :: ERR_CONTENT_LENGTH_MISMATCH

此错误消息是什么意思,我该如何解决? 这是从Windows 7上的Google Chrome v33.0控制台获得的。

无法加载资源:net :: ERR_CONTENT_LENGTH_MISMATCH [http://and.img.url/here.png]

我正在尝试使用jQuery更改图像的src属性。 例如这样(简化):

$('.image-prld').attr('src', someDynamicValue);

页面上大约有30张图像。 每当我重新加载页面时,随机图像都会发生上述错误。 但是有时它对于所有图像都运行良好,没有任何错误。

发生此错误时,特定的图像显示如下:

enter image description here

但是,当我在新选项卡上打开错误消息旁边的链接时,图像正在加载,这从逻辑上说图像是有效的并且存在。

user3332579 asked 2020-08-11T19:03:30Z
8个解决方案
31 votes

此错误是HTTP标头中通告的数据与通过网络传输的数据之间的绝对不匹配。

它可能来自以下方面:

  1. 服务器:如果服务器的某些模块存在错误,这些错误会更改内容但不更新标头中的内容长度,或者无法正常工作。 在某些时候节点HTTP代理就是这种情况(请参阅此处)

  2. 代理:您与服务器之间的任何代理都可能正在修改请求,而不更新内容长度标头。

据我所知,我在IIS中没有看到这些问题,但大多数都是使用自定义的编写代码。

让我知道是否有帮助。

Maxime Rouiller answered 2020-08-11T19:03:58Z
27 votes

这甚至可能是由您的广告拦截器引起的。

尝试禁用它或为图像来源的域添加例外。

Joe Valeriana answered 2020-08-11T19:04:23Z
21 votes

Docker + Nginx

在我的情况下,问题是nginx docker容器磁盘空间。 我有10GB的日志,当我减少此数量时,它可以工作。

逐步(适用于新手/菜鸟)

  1. 输入您的容器:docker exec -it container_id bash。

  2. 转到您的日志,例如:/ var / log / nginx。

  3. [可选]显示文件大小:单个文件大小为> file_name或文件夹大小为du -h

  4. 使用> file_name清空文件。

  5. 有用!。

对于高级开发人员/系统管理员

使用> file_name或类似内容清空您的nginx日志。

希望能帮助到你

mrroot5 answered 2020-08-11T19:05:48Z
2 votes

这可能是由于磁盘已满(Ubuntu / Nginx)引起的。

我的情况:

  • 在Chrome中,使用Nginx投放静态文件时发生此错误:“ ... / static / js / vendor.c4ed7962fb4a63ad3c3b.js net :: ERR_CONTENT_LENGTH_MISMATCH 200(确定)”
  • 根磁盘已满; 清理tmp文件后,错误消失了。
  • 防止:确保磁盘保持干净(类似这样的脚本可以帮助:[https://crunchify.com/how-to-automatically-delete-tmp-folders-in-linux-automatic-disk-log-cleanup -bash-script /])
vdB answered 2020-08-11T19:06:25Z
0 votes

在我的情况下,我正在修改请求以将标头(使用Fiddler)附加到https请求,但未将其配置为解密https流量。

The Red Pea answered 2020-08-11T19:06:51Z
0 votes

在我的情况下,我错误地计算了在标头中广告的Content-Length。 我正在为文件提供Range-Requests,但我错误地将文件大小发布为Content-Length。

我通过将Content-Length设置为发送回浏览器的实际范围来解决了该问题。

因此,如果我要回答常规请求,则将Content-Length设置为文件大小。 如果我要回答范围请求,则将Content-Length设置为所请求范围的实际长度。

Tobias Gassmann answered 2020-08-11T19:07:21Z
0 votes

就我而言,是代理问题(从Nginx代理到清漆缓存的请求)引起了问题。 我需要在代理定义中添加以下内容

        proxy_set_header Connection keep-alive; 

我在这里找到了答案:[https://stackoverflow.com/a/55341260/1062129]

George answered 2020-08-11T19:07:46Z
0 votes

如果这与docker相关,请尝试使用同一映像中的docker run命令停止错误的容器并启动新容器。

LanilT answered 2020-08-11T19:08:06Z
translate from https://stackoverflow.com:/questions/23521839/failed-to-load-resource-neterr-content-length-mismatch