/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

对象存储的账单通常由三块构成:存储容量、外网下行流量、请求次数。真正让账单失控的往往不是容量,而是下行流量——一次视频播放、一张列表图的重复加载,都在计费。先把这三块看清楚,才能判断自建存储到底值不值。
一、三块费用分别对应什么行为
- 存储容量费:按 GB/月计,标准存储、低频、归档单价不同
- 外网下行流量费:文件被公网读走时产生,按 GB 计
- 请求次数费:PUT、GET、HEAD 等操作按万次计
- 内网流量:同地域的云服务器访问对象存储,通常不计流量费
最后一条是最容易被忽略的杠杆。同一个文件,从公网读和从内网读,成本差一个量级。很多团队的账单里流量费占大头,本质是「所有读请求都走了公网」。

二、流量费为什么涨得比存储费快
存储是线性增长:存 100G 就是 100G 的钱。流量是乘法增长:文件大小 × 访问次数 × 重复次数。
四个常见的放大器:
- 列表页加载原图。一个 20 条商品的列表,每条一张 800KB 的原图,一次刷新就是 16MB
- 没有缓存。同一个用户反复刷新,每次都是新的流量
- 视频直接播原片。1080P 原片和转码后的流,流量差几倍
- 被外部站点盗链。图片被别的站引用,流量算你的
CDN 能降低回源流量,但 CDN 本身也有计费项,命中率上不去,等于两头付费。

三、四个能立刻压住账单的技术动作
上传时生成缩略图。 列表用缩略图,详情页才加载原图,这是性价比最高的一刀。图片处理可以在上传后异步生成,也可以走存储侧的图片处理参数按需裁切。
给静态资源加缓存头。 Cache-Control: max-age=31536000, immutable 配合文件名带 hash,浏览器和 CDN 都能长期命中,回源次数断崖式下降。
签名 URL 与防盗链。 私有读的桶用预签名 URL,有效期设到分钟级;公开读的桶配 Referer 白名单。两步做完,外部站点基本白嫖不到你的流量。
大文件走分片上传。 视频、语音这类文件用 multipart upload,断点续传,失败只重传分片。弱网环境下,这一条直接决定上传成功率。

四、什么情况下自建存储更合适
判断标准不是「哪个更便宜」,是「你的成本曲线长什么样」。
自建更合适的情况:
- 媒体文件为主,视频、语音占比高,下行流量大且持续
- 访问量稳定在高位,包月带宽的固定成本能被摊薄
- 有多租户需求,要给不同客户开独立账号、分开算容量
- 团队具备基础的运维能力:备份、扩容、监控、故障处理
公有云更合适的情况:
- 文件量小、访问量低,固定带宽的钱花不完
- 没有运维人力,出问题只能等救援
- 业务有明显的波峰波谷,需要弹性扩容
五、自建要补的功课,别只看「省流量费」
对象存储不是装个软件就完事。缺了下面任何一块,省下来的钱会以另一种方式还回去:
- 磁盘冗余:RAID 或副本,单盘损坏不能丢数据
- 备份策略:删库、误删、勒索,三种场景要分开设计
- 出口带宽:这是固定成本的大头,也是「流量自由」的真实含义——用包月带宽换掉按量流量费
- 鉴权与防盗链:签名 URL、Referer 白名单、访问日志
- 缩略图与转码:图片压缩、视频转码,否则带宽会被原片吃干净
- 监控告警:容量水位、带宽水位、错误率
把这六项列成清单,再对比公有云账单,结论通常比拍脑袋清楚。

六、一套现成的参考实现
如果不想从零搭,市面上有成品可看。晓江云计算的「流量自由OSS云储存」面向个人、企业开发者、小程序及其他 SaaS 平台,支持图片、视频、语音、缩略图等类型上传,独立部署在自有服务器,对外访问不走第三方 CDN 计费,可无限开设 SaaS 账号(各账号存储空间与用量分开管理),并提供 API 对接小程序、网站、APP 及各类业务系统。
一句判断
流量费的本质,是把带宽成本按次分摊给你;自建的本质,是把它换成一张固定的包月账单。选哪个,取决于你的访问量曲线有多陡,以及你愿不愿意为这条曲线养一个运维。
