1

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

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

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

有什么帮助吗?

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

非常感谢。

4

1 回答 1

4

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

于 2012-05-09T13:05:24.783 回答