【问题标题】:How to load lots of php generated images on a webpage如何在网页上加载大量 php 生成的图像
【发布时间】:2012-05-09 12:55:39
【问题描述】:

我有一个网站,其中所有页面都有很多图片。每张图片都是由 PHP 动态生成的(我的意思是 img 标签的 src="" 属性类似于 "/image.php?id=4553")。

我正在正确控制缓存,以加快加载相同图像的次数,并且加载单个图像所需的时间非常快。问题是前 5-6 个图像是在页面加载的同时加载的,其他的加载很多秒后(5-10-15 秒后)。 Firebug 告诉我问题是由于浏览器为了限制同时连接到服务器而执行的请求排队。

我在发送页面的 HTML 时尝试发送“Connection: Keep-Alive”标头,但可能还不够!

有什么帮助吗?

我知道有一些 jQuery 插件,例如延迟加载,它们仅在图像在视口上可见时才加载图像。那将是一个很好的“解决方法”,但我想知道是否有任何适当的方法来控制这种类型的图像加载。

非常感谢。

【问题讨论】:

  • 您是否在该脚本中处理您的图像?
  • 是的,我将原始图像的大小(gdlib)调整为该特定“图像标签”中所需的格式。
  • 为了提高您的性能,我建议您在上传时处理您的图像,稍后再简单地输出。因为图片上传一次,显示多次。
  • 我知道,我通常在其他网站上这样做,但在这个特定的项目中,我需要在显示时间处理图像!

标签: php image http http-headers download


【解决方案1】:

Firebug 很好地总结了这个问题。浏览器一次只会从一个域加载x 数量的资源。 x 通常约为 8,尽管这可能因浏览器而异,并且可以由用户在其设置中更改。克服这个问题的唯一方法是让浏览器从不同的域(子域算作不同的域)下载资源,这将允许一次下载更多的资源。您可以通过使用 .htaccess 和 mod_rewrite 让您的图像从虚假子域下载,而实际上是从同一个域下载的,从而诱使浏览器认为它是从不同域下载来实现这一点的。这将允许您一次下载超过分配的资源。

【讨论】:

    猜你喜欢
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多