Firebase 托管會在您部署網站時立即提供新版本的網站。同時,您可以立即回滾到以前的版本。通常,CDN 需要幾分鐘才能傳播更改,這同樣適用于 .htaccess 檔案或類似檔案,它們可以進行重定向,使我認為它們在 CDN 之上有一個動態的額外層。如果他們這樣做了,他們將如何處理 DNS 內容?
您有一個使用 CNAME 訪問 Firebase 的 mysite.web.app 的自定義域名,而 Firebase 可能使用 CNAME 轉發到 Fastly(基于網路查找的 Firebase 的 CDN 提供商)域,例如 firebase-customerid-mysite.fastlycdn.net
我無法完全弄清楚他們如何處理即時版本更改。他們必須在 CDN 中使用不同的檔案夾,但我認為他們不會為每個版本使用不同的子域,因為這需要新證書等并且不會那么快。那么如何將整個域重定向到子檔案夾?您可以通過更改 .htaccess 檔案來做到這一點,但這也需要幾分鐘。你覺得他們是怎么做的?
提前致謝!
uj5u.com熱心網友回復:
就我而言,firebase 版本更改類似于 git 的更改,因此他們不會創建不同的目錄來部署您的最新版本,他們只是將以前的版本保存在 .firebase 或其他檔案夾(版本控制目錄)中) 并且子域不會改變。取而代之的是,部署最新版本的更改我們可以立即看到,因為no-cache在每次重用之前通常需要與源服務器進行驗證。因此,當瀏覽器快速詢問時,它會與 firebase 服務器檢查資源是否已更改,如果是,則提供該資源的新版本。
參考:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
https://firebase.google.com/docs/remote-config/templates
https://docs.fastly.com/en/guides/how-fastlys-cdn-service-works
為了獲得類似的結果,可以使用 git 進行版本控制(實時更改)并使用no-cache標頭(用于資源驗證)。我們可以使用任何 CDN,因為幾乎所有 CDN 都會驗證資源。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/402011.html
