如何处理网页中的大量图像?

时间:2011-03-16 21:15:42

标签: optimization image-processing

所以我正在创建一个网站,然后我向网络开发人员展示了它。我想让我的网站成为一种“视觉体验”,每个页面至少有30个50x 50缩略图,120 x 100图像和几个缩略图。它将是一个仅限成员的页面,因此您可以成像,注册用户越多,我们将拥有更多的图像。事实上,每个成员都可以拥有他/她自己的相册,这将是另一组图像。

所以他真的很担心我的网站不会被优化,并且说除非我投资一台非常昂贵的服务器,否则图片无法立即加载。用户必须等待几秒钟才能加载图像。

所以我想知道有什么技巧可以解决这个问题吗?当我查看像facebook.com这样的网站图像的src属性时,会转到像http://profile.ak.fbcdn.net/hprofile-ak-snc4/27537_45309870078_2551_s.jpg这样的地方。是否有某种技术将所有图像存储在不同的服务器/网站上?

所以基本上,我将拥有一个非常图像密集的网站,我想知道什么是确保用户体验尽可能顺利并且没有用户等待单个图像加载的最佳方法。感谢。

5 个答案:

答案 0 :(得分:3)

有一些服务,称为CDN,content delivery networks。一些大型网站有自己的。

答案 1 :(得分:2)

  1. 为您的图片使用多个域,因为浏览器限制(IE:2)与每个域的传出连接。
  2. 使用到期标头以避免多次下载同一图像。
  3. 在服务器上生成缩略图(不要在浏览器中调整图像大小)以最大限度地减少所需带宽。
  4. 投资Akamai。

答案 2 :(得分:1)

基本上,该问题的解决方案是像Akamai一样使用Content Delivery Network。实质上,您只是缓存图像,以便在不用于处理请求的服务器上更快地访问。

答案 3 :(得分:0)

除了使用CDN之外,还有其他答案建议,还要尽量避免或延迟加载您不需要加载的图像(还)。示例:执行随机Google图片搜索并滚动查看结果。当您向下滚动时,查看图像是如何加载的? YUI 2似乎是一个很好的选择。

答案 4 :(得分:0)

您还可以在Apache服务器前使用nginx作为代理服务器。