2017-05-23 56 views
3

我在Firebase上運行了PWA。我的圖片文件託管在Firebase存儲上。我注意到我的瀏覽器不能爲從存儲系統加載的文件保存緩存。瀏覽器請求每個頁面刷新的文件。它會導致不必要的延遲和流量。 https://firebasestorage.googleapis.com/v0/b/discipulado-7b14b.appspot.com/o/book3.png?alt=media&token=65b2cde7-c8a4-45da-a743-401759663c17將緩存設置爲Firebase存儲中的文件

Network stats

我的JS腳本從火力地堡存儲的下載鏈接,例如加載文件。

我可以緩存這些請求嗎?

UPDATE

根據這些answer我不應該使用火力地堡存儲從我的站點主機文件。只是爲了管理用戶的下載和上傳。它是否正確?

+2

https://firebase.google.com/docs/reference/js/firebase.storage.SettableMetadata#cacheControl –

+1

對於存儲,您可以在文件上設置元數據,如'contentType '或'cacheControl' –

回答

4

cacheControl用於存儲:https://firebase.google.com/docs/reference/js/firebase.storage.SettableMetadata#cacheControl


你必須與託管更好的服務,並與火力CLI部署非常簡單。我認爲默認情況下,Hosting中的圖像緩存控制是2小時,您可以使用.json全局增加它。

https://firebase.google.com/docs/hosting/full-config#headers

主機可以擴展您的網站,並將其移動到不同的邊緣節點更近的地方的需求。存儲限於桶,但您可以指定一個桶用於歐洲,一個用於中國,另一個用於北美等。

存儲對用戶文件上傳更好,主機用於靜態內容(雖然它們正在推出動態託管與我認爲的雲功能)

+0

謝謝,兄弟!你幫了很多! :D – bodruk

+0

在此回答中,「託管」是指Firebase託管,「存儲」是指Firebase存儲。兩者都是由Firebase提供的服務。只是爲了清楚。 – user2875289