2011-03-16 43 views
0

所以即時通訊製作一個網站,我展示給了一位網絡開發人員。我想讓我的網站成爲一個「視覺體驗」,每個網頁至少會有30個50x50的縮略圖,120x100的圖片和多個縮略圖。它會成爲一個只有會員的頁面,所以你可以成像,註冊用戶越多,我們會有更多的圖像。實際上,每個成員都可以擁有他/她自己的相冊,這將是另一組圖像。如何處理網頁中的大量圖像?

因此,他真的擔心我的網站不會被優化,並說除非我投資一個真正的真正昂貴的服務器,否則圖像將無法立即加載。用戶將不得不等待幾秒鐘才能加載圖像。

所以我想知道是否有任何技術來解決這個問題?當我查看像facebook.com這樣的網站圖像的src屬性時,它會轉到像http://profile.ak.fbcdn.net/hprofile-ak-snc4/27537_45309870078_2551_s.jpg這樣的地方。這是一種將所有圖像存儲在不同服務器/網站上的技術嗎?

所以基本上,即時將有一個非常圖像密集的網站,我想知道什麼是確保用戶體驗儘可能流暢,並沒有用戶等待單個圖像加載的最佳方式。謝謝。

+0

Amazon S3呢? – 2011-03-16 21:19:27

+1

你需要研究體系結構,瞭解它們是如何工作的,以及它們之間有什麼不同,等等.Facebook不會將所有東西託管在一臺服務器上,它不會工作。如果你真的希望擁有所有這些圖像,並且數量將根據用戶進行擴展,那麼你需要查看內容服務器和緩存技術。這不是一個「什麼是快速修復」類型的問題。思想需要進入體系結構或者根本不會擴展。 – 2011-03-16 21:23:44

+0

看看別人是怎麼做的,例如imgur.com在他們的博客中發佈了一些見解。如果我沒有記錯的話,Github也發佈了一些內容。 – pduersteler 2013-12-27 07:58:08

回答

2
  1. 因爲瀏覽器對每個域都有傳出連接的限制(IE:2),所以對圖像使用多個域。
  2. 使用過期標題以避免同一圖像的多次下載。
  3. 在服務器上生成縮略圖(不要在瀏覽器中調整圖像大小)以最大限度地降低所需帶寬。
  4. 投資Akamai。
1

基本上,解決該問題的方法是使用Content Delivery Network,如Akamai。本質上,您只是緩存映像,以便更快地訪問未用於處理請求的服務器。

0

除了使用CDN,正如其他答案建議,還嘗試避免或延遲加載圖像,你不需要加載(還)。示例:隨機執行Google圖片搜索並滾動瀏覽結果。看看圖像只在你向下滾動時才加載? YUI 2似乎是一個很好的選擇。

0

您也可以使用nginx作爲Apache服務器前的代理服務器。