草庐IT

php - 图片加载失败,net::ERR_CONTENT_LENGTH_MISMATCH

coder 2023-10-05 原文

问题

当您在我的网站上加载一个页面时,通常不会出现一个(或多个)图像(我从 Lightroom 和/或 Photoshop 保存的 jpg 文件)。它看起来像是断开的链接(出现 ALT 描述)但没有图像。浏览器的硬重新加载解决了问题(例如,所有图像在硬重新加载后正确加载)。

错误信息

对于所有未加载的图像,Chrome 会显示“ERR_CONTENT_LENGTH_MISMATCH”警告。 (有时图像会快速闪烁,然后变成死图像)

设置

在共享主机上运行最新版本的 Wordpress (4.2.2)。如果重要的话,站点是 SSL (https)。图像位于主机上的图像上传文件夹中(不像 Imagemagick 等那样复杂)。

我的疑难解答

我在不同机器(包括 Mac 和 PC)上使用不同的 ISP 和不同的浏览器(Chrome 和 Safari)从多个位置复制了这个问题,其中一些没有使用任何广告拦截器。

我试过的是:

  • 我问房东是不是服务器端有问题。他们声称没有。
  • 我已经尝试重置 functions.php 文件。没有影响。
  • 我已经禁用了所有插件。没有影响。
  • 我已将元字符集硬编码为 UTF-8。没有影响。
  • 检查我是否使用 Gzip。我不是。
  • 启用 Wordpress 缓存插件。没有影响。
  • 清除所有不必要的重定向和命令的 .htaccess。不 影响。
  • 替换了全新安装的 wp-admin 和 wp-includes 文件夹。不 影响。
  • 已删除 Wordpress 并从备份重新安装。没有骰子。
  • 我已将存在此问题的页面的源代码放入 test.html 文件中,图像似乎加载正常。

我的想法和问题

每张图片大小为 100-200kb,有时页面上有相当多的图片。是不是超时了,然后一旦我重新加载,一切都会显示出来,因为超时没有被触发?这是我在不完全理解问题的情况下所能收集到的最好的随机猜测。

有什么我可以尝试的想法吗?我应该删除整个数据库并重新开始吗?我对计算机的了解都是自学的,服务器问题对我来说不是强项。即使您不知道它可能是什么,有人可以用一般术语解释一下什么是内容长度不匹配吗?

非常感谢!

最佳答案

当您从网络服务器请求数据时,它首先响应有关数据的一些信息(HTTP header ),然后响应数据。其中一条信息是 HTTP header ,称为 Content-Length。它告诉客户端它应该期望从服务器接收多少数据。当您的浏览器获取图像时,服务器的响应(非常简化的样子)

Content-Length: 100000

< the image, 100000 bytes of data >

当客户端接收到 Content-Length 指定的数据量时,客户端就知道请求已完成。在这种情况下,直到它收到 100KB(100000 字节),它才认为图像未完成加载。

如果服务器在客户端从服务器接收到数据之前中断了请求,或者如果客户端接收到的数据多于接收到的数据,则客户端将抛出某种错误并假定数据到损坏/无法使用并处理掉它。处理方式因浏览器而异。

您是如何将图片上传到您的网站的?我自己在文件的假定 大小存储在数据库中的情况下遇到过这个问题,这用于设置Content-Length header 。数据库中的文件大小不适合该文件。 但是,我知道 WordPress 不会在数据库中存储文件大小;媒体上传仅由 URL 表示。

如果网络服务器资源耗尽并且无法再满足您的请求,也会发生这种情况;你说你每页有很多图片。如果您使用的是非常糟糕的共享托管计划,则可能是主机施加了限制,或者服务器根本无法处理其托管的所有站点的流量。

关于php - 图片加载失败,net::ERR_CONTENT_LENGTH_MISMATCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31361107/

有关php - 图片加载失败,net::ERR_CONTENT_LENGTH_MISMATCH的更多相关文章

  1. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  2. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  3. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  4. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  5. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  6. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  7. ruby-on-rails - Ruby on Rails - 为文本区域和图片生成列 - 2

    我是Rails的新手,所以请原谅简单的问题。我正在为一家公司创建一个网站。那家公司想在网站上展示它的客户。我想让客户自己管理这个。我正在为“客户”生成一个表格,我想要的三列是:公司名称、公司描述和Logo。对于名称,我使用的是name:string但不确定如何在脚本/生成脚手架终端命令中最好地创建描述列(因为我打算将其设置为文本区域)和图片。我怀疑描述(我想成为一个文本区域)应该仍然是描述:字符串,然后以实际形式进行调整。不确定如何处理图片字段。那么……说来话长:我在脚手架命令中输入什么来生成描述和图片列? 最佳答案 对于“文本”数

  8. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  9. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  10. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

随机推荐