VP导航 VP导航
首页 提交网址

资讯文章 资讯 · NEWS

弱网和省流模式下的目录站:Save-Data 和 Client Hints 还要不要用

2026-10-24 约 1,963 字 预计阅读 5 分钟 yiyunkj

弱网和省流模式下的目录站:Save-Data 和 Client Hints 还要不要用 弱

服务端想在返回响应之前就知道用户的屏幕多宽、是不是想省流量,靠的是两类请求头:Save-Data 和 Client Hints。前者是用户主动开了省流模式,后者是浏览器按服务器要求上报设备信息。

两个机制都有实际价值,也都有明确的代价。先说清楚它们各自的现状,再谈该不该上。

Save-Data 与 Client Hints 的启用代价和缓存键影响对照

图片来源:网络,版权归原作者所有,侵权请联系删除

Save-Data:只有 Chromium 系还认

用户开了省流模式之后,浏览器会在请求里带上 Save-Data: on。它是低熵提示,意思是不需要服务器用 Accept-CH 声明,客户端也会主动发送。

支持情况要坦诚讲:Chrome 从 49 起支持,Edge 79 起,Opera 35 起,安卓 WebView 和三星浏览器也支持;Firefox 和 Safari 都不支持。MDN 已经把它标为实验特性,并注明在多数主流浏览器引擎中不再默认支持。换句话说,它只能覆盖一部分用户,不能当成主力方案。

收到这个头之后,目录站能做的三件实事:

  • 图片降档:把缩略图的质量参数调低、尺寸档位往下跳一档。这是收益最直接的一项。
  • 关掉预取和自动播放:预加载下一页、自动播放的预览图、轮询接口,这几样在省流模式下都应该停。
  • 减少首屏条目数:从一屏二十条降到十条,剩余靠滚动加载。

有一个必须做的事:响应里一定要加 Vary。MDN 的示例写得很清楚:

Vary: Accept-Encoding, Save-Data

少了这一条,CDN 和浏览器缓存会把省流版本发给没开省流的用户,或者反过来。缓存串味的结果是有人发现自己的图片莫名变糊了。

Client Hints:要了才给,且只给同源

设备类的提示(宽度、DPR、视口宽度等)默认不发送。服务器要在响应里声明:

Accept-CH: Sec-CH-Width, Sec-CH-DPR, Save-Data
Vary: Sec-CH-Width, Sec-CH-DPR, Save-Data

声明之后,后续请求才会带上这些头。这里有四个约束:

约束具体表现
首屏拿不到提示只在第二个请求开始携带,第一个请求没有
必须 HTTPS安全上下文是硬性要求
只给同源Chrome 从 67 起不再向第三方源发送,跨域图片 CDN 收不到
有时效只在当前会话内有效,第三方需要额外委托

另外,老式的 Width 头已经被标准化为 Sec-CH-Width,旧名已弃用;它只在图片请求上发送,值是向上取整的物理像素数。

用户代理类的提示分两档:Sec-CH-UA、Sec-CH-UA-Mobile、Sec-CH-UA-Platform 是低熵的,默认就发;Sec-CH-UA-Model、Sec-CH-UA-Full-Version-List 这类高熵的,同样需要 Accept-CH 请求。

算一笔账

收益侧:如果你的图片是自己 CDN 按 URL 参数实时生成的、没法预先生成多档文件,那 Sec-CH-Width 能让服务端直接输出刚好的尺寸,省掉 srcset 里那一堆候选。

代价侧:第一,首屏首次请求拿不到提示,第一次访问的用户享受不到(可以用 Critical-CH 让浏览器重试一次,代价是多一个往返);第二,Vary 里每加一个头,CDN 的缓存键就多一维,命中率必然下降——这一条在多提示叠加时尤为明显;第三,跨域图片 CDN 收不到提示,等于在你的架构里这一套直接失效。

目录站的实际建议

srcset 加 sizes 仍是首选。浏览器端自己选尺寸,不依赖服务端协商,没有首屏盲区,也不污染缓存键。绝大多数目录站的缩略图场景,这一套已经够了。

Save-Data 值得做,但要降级处理。它只影响一部分 Chromium 用户,实现方式简单,收益也明确。做好了是加分,没做也不影响主体体验。记得加 Vary。

Client Hints 建议先观望。除非你的图片链路是自研实时处理、且能接受缓存键碎片化,否则收益撑不起复杂度。若一定要用,先只在图片请求上启用 Sec-CH-Width 一项,别一次全上。

还有个配套的小技巧:CSS 里有 prefers-reduced-data 这个媒体特性,可以在不经过服务端协商的前提下,对声明了省流偏好的用户做样式降级。它的支持面同样有限,但写法简单,作为渐进增强的一环加上无妨。

验收

用 curl 手动带上请求头看响应有没有变化:

curl -s -o /dev/null -w '%{size_download}\n' \
     -H 'Save-Data: on' https://example.com/cate/1.html

关键是对比:带 Save-Data 和不带,返回字节数必须有差别;同时确认两个版本的响应头里都带了 Vary。再清一次 CDN 缓存重测,否则拿到的可能是启用之前的版本。

最后提醒一句:这些机制优化的是「已经在访问的用户」的体验。如果用户因为首屏太慢在第一屏就走了,服务端拿到请求头的机会都没有——所以它们不能替代基础的首屏优化。

本文标签 Save-Data请求头 Client Hints 弱网访问优化
← 上一篇 从日志还原蜘蛛走过的路线:目录站抓取路径分析的四个视 下一篇 → CSP 别一上来就强制执行:目录站从 Report-

— 本文完 —

提交网址

发现好站,欢迎自荐收录

站内搜索

站点统计

  • 今日审核0
  • 已收录站点3744
  • 正常访问3738
  • 失联站点6
  • 累计访问175

网站分类

  • AI工具 0
    AI对话0 AI绘画0 AI写作0 AI编程0 AI音视频0 AI办公效率0
  • 开发编程 0
    前端开发0 后端开发0 移动开发0 开源与代码托管0 数据库0 开发文档与教程0
  • 设计素材 0
    UI设计0 图标素材0 免费图库0 字体下载0 配色工具0 设计模板0
  • 站长工具 0
    网站统计0 SEO工具0 域名与主机0 收录提交0 建站程序0 运维监控0
  • 学习教育 0
    编程教程0 语言学习0 职业技能0 公开课与慕课0 考试题库0 中小学教育0
  • 生活服务 0
    交通出行0 外卖点餐0 房产租房0 医疗健康0 政务办事0 快递物流0
  • 影音娱乐 0
    影视观看0 音乐音频0 游戏资源0 短视频直播0 小说阅读0
  • 电商购物 0
    综合商城0 比价工具0 导购返利0 二手交易0 团购优惠0
  • 综合其他 1
    实用工具0 资源合集0 小众站点0 个人博客0 论坛社区0
  • 新闻资讯 0
    科技资讯8 财经媒体1 行业动态0 社会热点0 综合门户0
  • 资讯文章 360

最新收录

  • 列表页点一下卡半秒:schedule
  • CSP 别一上来就强制执行:目录站从
  • 弱网和省流模式下的目录站:Save-
  • 从日志还原蜘蛛走过的路线:目录站抓取
  • 边缘函数该干的四件事和不该干的三件:
  • 泛解析开着会发生什么:目录站子域和城
  • 一个条目从上架到下架要过七道闸:目录
  • 新条目没有行为数据怎么推荐:目录站相

浏览排行

  1. 满分作文网 6
  2. Let's Enhance 3
  3. 淘菜菜 3
  4. MasterClass 3
  5. TypeScript 中文网 3
  6. Zhengziying 3
  7. 得意生活 3
  8. 镇江网友之家 3

联系我们

bQ:12345678

电话:400-8888-888

邮箱:admin@example.com

时间:09:00-21:00

友情链接

车机屋·焊锡条·探兔AI导航·静电测试仪·大学生联盟

关于我们|广告合作|隐私条款|网站地图

原ICP备00000000号-1,@2026

由 Z-BlogPHP 驱动