我們的PHP/MVC webapp可讓用戶上傳圖片。他們得到每個圖像的鏈接,如:http://example.com/images/55
其中55是我們在數據庫中存儲的id,因此我們可以將用戶與他們的圖片關聯起來。我們不是將圖像數據存儲在數據庫中,而是實際存儲在Amazon S3上。CDN緩存圖像重定向和固定鏈接
當用戶稍後請求此URL時,我們的服務器會生成實際的URL,並向瀏覽器發出header('Location: https://s3.amazonaws.com/example/media/1234')
重定向,其中1234的ID爲55混淆。我們設置了這個方案,所以我們可以有一個'永久鏈接'的解決方案,以防後端發生變化 - 原始URL只是被重新映射到後臺。
有了這個方案,是否有可能讓客戶端瀏覽器緩存整個過程?例如,請求http://example.com/images/55
將避免直接訪問我們的服務器,並直接請求https://s3.amazonaws.com/example/media/1234
,或者甚至更好,直接從緩存中檢索此圖像。如果沒有,那麼構建我們的鏈接/重定向方案的「最佳」方式是什麼?我們將製作帶有許多縮略圖的頁面,我希望這些頁面可以緩存,這樣用戶體驗很流暢。
發送頭重定向到CDN有什麼意義?你仍然直接擊中你的服務器?! – konsolenfreddy 2012-04-13 18:01:55
是的,但我們不提供圖像內容,只是圖像位置。 – Harper 2012-04-13 18:02:20
這當然是真的,但是您的整個PHP過程將由此開始。 – konsolenfreddy 2012-04-13 18:03:36