2011-09-28 38 views
5

在我生命中所有的時間,我在我的服務器上的圖像保存爲文件:爲什麼Google使用base64編碼數據作爲圖像src屬性?

  • 原件
  • 縮略圖
  • 原來有水印

...所有的文件文件夾。

但今天,我正在查看谷歌圖片,而圖片的src是一個base64編碼哈希。 Google以這種方式從服務圖像中獲得什麼好處?爲什麼有人會這樣做,而不是僅僅按照慣例提供圖像?

回答

7

谷歌有點癡迷延遲;如果您的瀏覽器必須前往頁面上的每個圖像向Web服務器發出單獨請求,則頁面加載的延遲時間會延長。您可以通過在生成頁面時將圖像的數據寫入頁面來消除此延遲。實際上,我現在看到很多形象很重的網站,尤其是博客,使用這種技術。

僅僅因爲圖像被包含在頁面中並不一定意味着它不會作爲文件存儲在Web服務器上 - 只是生成該頁面的Web服務器進程已經打開並讀取該圖像文件,然後寫入它是進入頁面的數據。谷歌可能將圖像存儲在它的專有和祕密數據存儲中,但你不必。

+0

是的,我承認,在查詢文件的最多時間是在傳輸數據(確認標題和這樣的事情......)的前幾個步驟,所以如果你給直接base64encode源將更好的用戶。但是這個理論中存在一些問題:您需要提供更多的源(其帶寬更多),您需要打開文件並讀取並轉換爲base64編碼每個圖像,這需要時間,並在每次加載頁面時進行此操作。我認爲最好的辦法是將base64encode保存在數據庫中,但是這需要更多的數據庫存儲空間... 什麼是最好的方法? –

+0

大文件>很多HTTP請求 –

相關問題