各位站长、开发者,今天给大家带来一期逐项核对过 Firebase 官方定价文档的 Hosting 线报。
Firebase Hosting 是 Google 系的静态托管服务,对前端开发者来说算是"顺手就能用"的一类:项目里跑一条 firebase deploy 命令,站点就发布到全球 CDN 上了,自带 SSL 证书、支持自定义域名和预览频道,而且不需要绑定任何支付方式就能开始用。对已经在用 Firebase 生态(Auth、Firestore、Crashlytics)的项目来说,它几乎是无缝接入的选择。
但这份免费额度有一个细节特别容易被人忽略,而且直接决定你能跑多大的流量:它的传输额度是按"天"给的,不是按月给的。网上很多汇总把这写成"每月 10GB 带宽",听起来和别家差不多,实际用起来规则完全不一样。
下面我把核实后的真实额度、边界和踩坑点一次讲清楚。
先纠正一个关键口径:360MB/天 ≠ 每月 10GB
Firebase 官网对 Hosting 免费层的原文表述是:
10 GB of storage and up to 360 MB/day of data transfer, free of charge.
它给的存储是 10GB(这个按月算),但数据传输是按天的:每天最多 360MB。360MB × 30 天 ≈ 10.8GB,所以很多教程把它折算成"每月约 10GB 带宽"——从总量上看没差太多,但计费粒度完全不同,由此带来两个实际差异:
当天额度不结转。今天只用 50MB,剩下的 310MB 不会攒到明天。所以"月总量 10GB"给人的安全感是假的,你真正的天花板是任何单日 360MB。
一次突发就可能撞线。你的站点如果被某个社区转发、或者一篇图文被集中点击,一天之内几百 MB 是很容易跑掉的,而这在"每月 10GB"的模型下本来是很正常的事。
所以更准确的理解是:Firebase Hosting 免费层适合低流量、平稳访问的站点,不适合任何形式的流量波动。
逐项核实:免费层到底给了什么
除了上面的传输额度,Spark(免费)计划还包含这些:
存储:10GB
站点文件的总容量上限。注意单个文件最大 2GB,视频这类大文件虽然能传,但会快速吃掉存储额度,也会加剧传输消耗——建议大文件放别处,仓库里只留链接。数据传输:每天 360MB(全球 CDN 分发)
文件缓存在全球边缘节点,按 gzip 或 Brotli 压缩后传给访客,实际压缩后能省一部分流量。但额度本身是硬的。免费 SSL 证书 + 自定义域名
这一点和你给的一致。绑定自有域名后证书自动配置,不需要手动申请,并且支持为一个项目绑定多个站点、每个站点配多个自定义域名(多站点功能免费)。对需要同时上线主站和若干子站、测试站的朋友挺实用。全球 CDN + 秒级部署 + 版本回滚
配合 Firebase CLI 可以把一个按钮的发布做成几秒完成,并且支持一键回滚到历史版本——这是很有价值的能力,出问题不用重新构建。另外还有预览频道:把改动先发布到一个临时地址给团队看,确认后再推到正式环境。GitHub Actions 自动部署
官方提供 GitHub Actions 集成,push 代码就能自动构建发布,适合已经用 Git 工作流的项目。支持主流框架,一条命令部署
React、Vite、Vue 等都能构建成静态产物后直接部署,不需要额外配置服务器。与 Firebase 其他服务天然打通
这是 Firebase 相对其他托管平台的独特优势。整个 Spark 计划下你还能顺带用上:Authentication(多数标准登录方式免费)、Cloud Firestore(1GiB 存储 + 每天 5 万次读取 / 2 万次写入)、Realtime Database(1GB 存储 + 每月 10GB 下载 + 100 个并发连接)、Cloud Storage(5GB 存储)、Crashlytics 与 Analytics(完全免费,不限用户数)。前端托管 + 用户登录 + 数据库这一整套,在免费层里就能跑通。
实测踩坑:这几条一定要提前确认
Firebase Hosting 的坑,主要集中在"超额行为和生态边界"两处。
Spark 计划超额是"当月停服",不是限速。 官方文档写得很直接:如果你在某个自然月内超出任一产品的免费配额,该项目下这个产品的用量会被关闭,直到该月结束。也就是说 Hosting 流量超额后,站点可能直接对访客不可用,要等下个计费周期才能恢复,或者升级到 Blaze。这是它和"超额自动扣费"型平台最大的区别——不烧钱,但会掉线。
(官方补充:Hosting 超出传输额度后会有一段短暂宽限期,但别指望靠它救急。)Cloud Functions 不在 Spark 计划里,需要升级 Blaze。 如果你想给站点加服务端逻辑(表单处理、接口、定时任务),光靠 Spark 是做不了的。这算是 Firebase 免费体系里比较硬的一条边界,规划时要提前想清楚。
升级 Blaze 后,原来免费的额度依然免费。 这一点不用慌:Blaze 是把 Spark 的全部免费额度作为免费分配量包含进去的,只对超出部分按量收费(Hosting 超额约 $0.15/GB)。Blaze 支持预算提醒,可以设告警防意外账单。
按天计量的额度最怕"某一天"出问题。 别只看月度总量,建议在控制台盯住单日传输量,尤其是图文类、有外链传播可能的站点。
默认域名在国内访问不稳定。 免费的
项目名.web.app和firebaseapp.com域名走的是境外节点,国内不同运营商、不同时段表现差异较大。面向国内读者的站点建议绑自有域名再做一层加速或改用国内方案。存储和数据传输是两项独立额度,别混算。 10GB 是存放文件的容量,360MB/天是每天传出去的流量。文件放得多不等于流量用得多,但大文件一定会同时吃这两头。
实操:从零到上线的完整流程
第一步:创建项目并初始化
在 Firebase 控制台新建项目(Spark 计划无需绑卡),本地安装命令行工具后运行登录和初始化命令,选择 Hosting 并指定构建产物目录。
第二步:本地构建
用 React、Vite、Vue 等框架把站点构建成静态产物,产物目录就是后续要部署的内容。
第三步:一条命令部署
运行部署命令,CLI 会把文件上传到 CDN 并给出访问地址。首次部署后就能通过默认域名访问。
第四步:绑定自定义域名
在 Hosting 控制台点"添加自定义域名",按提示配置 DNS 记录。证书由平台自动签发和续期,配置完成后勾选强制 HTTPS 即可全站加密。
第五步:用预览频道做改动验证
改动先推到预览频道地址给团队确认,无误后再发布到正式环境。这一步在免费层就能用。
第六步:可选——接上 GitHub Actions
配置官方 Actions 工作流,之后 push 代码自动部署,省掉手动发布环节。
第七步:把用量面板加入日常
在控制台的 Hosting 用量页面关注单日传输量,接近 360MB 时提前处理(压缩图片、把大文件迁到外部),避免某天站点突然不服务。
壹贰线报专属:两套务实方案
纯静态站方案(免费层最合适)
用 React、Vite 或 Vue 构建站点,一条命令部署到 Firebase Hosting,自定义域名 + 自动 SSL 一次配好,大文件全部甩到外部图床控制存量。站点前端轻、访问平稳、没有突发流量的话,这套可以长期零成本运行,非常适合个人作品集、技术文档站、内部工具页面。
Firebase 全家桶方案(生态优势最明显)
既然已经用了 Hosting,顺手把这套免费能力串起来:用 Authentication 做用户登录,用 Cloud Firestore 存业务数据,用 Crashlytics 和 Analytics 看崩溃与行为数据,托管只是一个入口。整个方案在 Spark 计划下就能跑通,且不绑卡不烧钱——这是其他静态托管平台给不了的组合。需要加服务端逻辑时,再评估是否升级 Blaze。
最后提示
壹贰线报只发核实过的信息。Firebase Hosting 的免费层有个鲜明特点:额度不算大,但胜在不需要绑卡、生态完整、和 Google 系工具无缝衔接。它的真实定位是"低流量前端站点的顺手之选",而不是"能扛流量的免费主机"。
上手前建议想清楚三件事:一是你的站点访问是否平稳,因为额度按天算、突发最容易撞线;二是要不要服务端逻辑,要的话就得考虑 Blaze;三是面向国内还是海外读者,前者建议另做加速或换方案。
有在用 Firebase Hosting 的朋友,欢迎在评论区说说你的站点跑在哪个框架上、平时传输量大概多少,或者聊聊你踩过的"某天突然掉线"的经历,和其他开发者一起交流经验。