Firebase如何在Firebase Hosting中管理版本



Firebase主机在您部署网站时立即提供新版本。同时,您可以立即回滚到以前的版本。通常,CDN需要几分钟的时间才能传播更改,同样的情况也适用于.htaccess文件或类似的可以重定向的文件,这让我认为它们在CDN之上有一个动态的额外层。如果他们这样做了,他们将如何处理DNS的事情?

您有一个使用CNAME访问Firebase的mysite.web.app的自定义域名,Firebase可能使用CNAME转发到Fastly(基于网络查找的Firebase CDN提供商(的域,例如Firebase-customerid-mysite.fastlycdn.net

我不知道他们是如何处理即时版本更改的。他们必须在CDN中使用不同的文件夹,但我不认为他们对每个版本使用不同的子域,因为这需要新的证书等,而且速度不会那么快。那么,如何将整个域重定向到子文件夹呢?您可以通过更改.htaccess文件来做到这一点,但这也需要几分钟的时间。你认为他们是怎么做到的?

提前感谢!

据我所知,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都会验证资源。

最新更新