大量图像的最佳传送方法

时间:2010-10-25 01:00:38

标签: image persistent-connection

我有一个以在线聊天应用程序为中心的网站,每个用户最多可以有几百个联系人。每个联系人都有自己的个人资料图片我想这样做,以便联系人的个人资料图像加载到名称旁边。但是,让用户每次加载网站时下载100多张图像似乎都很密集(研究表明,多达40%的用户不使用缓存)。每个图像的尺寸约为60x60像素。

当我在谷歌搜索或登录Facebook时,几乎即时提供了数十张图片。除了拥有快速的服务器和良好的连接之外,向用户提供如此多图像的最佳方法是什么?

我提出的可能方法是:

  • 将每个用户的个人资料图像存储在数据库中,在php文件中构建一个图像,而不是让用户下载该图像,然后使用css显示每个个人资料图像。但是,这在服务器上看起来非常激烈,并且引用如此大的文件可能会对用户的浏览器造成很大的影响。
  • 使用nginx而不是apache来为图像服务(nginx通常更适合服务器静态内容,例如这样)。但是,这似乎更像是对解决方案的优化,而不是解决方案本身。

我也知道可以跨持久性http连接传递数据,因此不必为多个文件向服务器发出多个请求。但是,确切地说,可以通过一个持久连接传递多少文件。这种持久的模型是否意味着仅将图像作为单独的文件加载并不一定是个坏主意?

任何有关相关事项的个人经历的建议,解决方案和/或说明将不胜感激。可伸缩性在这里非常重要,以及跨浏览器支持(IE7 +,Opera,Firefox,Chrome,Safari)

编辑:我没有使用JQUERY。

1 个答案:

答案 0 :(得分:0)

这是一个jquery插件,可以延迟加载图像,直到实际需要它们为止(即,只在“首页上加载图像”。)

http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin

另一种方法可能是使用Flash来显示图像。优点是Flash是一个更强大的本地缓存,你有程序