Reddit 宣布纯 HTML 不安全:从 old.reddit.com 封堵看开放式网页的终局
写在前面
2026 年 7 月 21 日,Reddit 悄悄地做了一个决定:old.reddit.com——那个不需要 JavaScript、纯 HTML、快速、轻量的经典界面——现在需要登录才能访问。官方理由是”为了安全”。但 Reddit 对新版界面(new.reddit.com)却没有施加相同的限制。
这篇文章从 Reddit 最近的这次变动出发,追溯 2023 年 API 风波以来的平台演进,分析”安全”背后的真正动机——LLM 时代的训练数据争夺战,以及一个更深层的趋势:当纯 HTML 都被视为威胁时,开放式 Web 正在走向何方。
一、这次到底发生了什么
1.1 old.reddit.com 的”退休”前奏
2026 年 7 月 21 日,Reddit 在 r/modnews 发布了一则公告[^1]:
“Old Reddit’s logged-out experience is a significant source of abusive scraping and automated traffic on the platform.”
翻译成大白话:未登录状态的旧版 Reddit 是爬虫和机器流量的主要源头。
自此,访问 old.reddit.com 会被重定向到登录页面。未登录用户只能看到一张截图和登录按钮。
1.2 为什么不限制新版 Reddit?
有用户直接在公告帖中提出了这个问题:
“新 Reddit 和旧 Reddit 有什么不同,以至于旧版容易被爬、新版就不会?难道爬虫不会转而爬新版吗?”
Reddit 管理员的回复耐人寻味:
“恶意流量的形态在不断变化。这是一个猫鼠游戏……旧 Reddit 缺少现代安全技术栈。”
注意这个措辞:现代安全技术栈。这里的”现代”,翻译过来就是 JavaScript。
1.3 数据对比:Old vs. New
一位开发者[^2]做了页面加载比对,数据最能说明问题:
| 指标 | Old Reddit | New Reddit | 差异 |
|---|---|---|---|
| 页面请求数 | 33 | 112 | 3.4x |
| 传输数据量 | ~1 MB | ~5 MB | 5x |
| 加载时间 | ~2s | ~3s | 1.5x |
| 默认加载评论数 | 200 | 25 | 0.125x |
| 加载更多评论请求数 | 4 | 94 | 23.5x |
| 是否需要 JS | 否 | 是 | — |
Old Reddit 是一个正常的网页——服务器返回 HTML,浏览器渲染,你读内容。它快、轻、甚至不需要 JavaScript(“加载更多评论”除外)。
New Reddit 是一个单页应用——服务器返回一个空壳,JavaScript 下载后渲染一切。它慢了 50%、重了 5 倍、每一个操作都伴随着心跳请求(每 0.5 秒一次滚动/鼠标追踪)。
二、“安全”背后的真实动机
2.1 安全真的不安全吗?
让我们先认真看待 Reddit 的说法:Old Reddit 是否真的有安全风险?
Old Reddit 就是一个纯 HTML 页面渲染服务。它没有复杂的客户端状态管理,没有 WebSocket 连接,没有 Service Worker,没有 JavaScript bundle。它做的是 Web 最原始、最核心的事情:接收 HTTP 请求,返回 HTML。
如果你说这样的架构有”安全问题”,而一个需要执行 2MB JavaScript 才能看到内容的 SPA(单页应用)更安全——这在技术上是站不住脚的。纯 HTML 的攻击面远小于复杂的客户端渲染应用。
2.2 真正的动机:控制数据访问
Reddit 不想被爬,这一点完全合理——它是一家公司,它拥有用户生成的数据,它不希望别人免费拿走这些数据。
但”我不希望你拿走”和”这是为了你的安全”是两回事。
Old Reddit 的问题是:它太好爬了。纯 HTML 意味着爬虫不需要执行 JavaScript、不需要处理 Webpack 打包的 chunk、不需要处理客户端渲染——只需要一个 HTTP 请求,HTML 就全部到手了。
New Reddit 的”安全优势”实际上是通过代码膨胀实现的阻挠:
- 112 个请求代替 33 个
- JavaScript 执行代替 HTML 解析
- 心跳追踪代替静态页面
- 复杂的客户端状态代替直接的 DOM
这不是安全,这是通过降低效率来阻止抓取。
2.3 管理员的坦诚版本
公告帖中有管理员给出了一段相对坦诚的回答:
“恶意流量的形态总是在变。这是一个猫鼠游戏……旧 Reddit 没有现代安全技术栈,这正在成为一个越来越大的挑战。”
注意这里的”安全”其实是个幌子——真正的”现代安全技术栈”应该是反爬虫系统、速率限制验证码、浏览器指纹检测和行为分析,这些跟前端用不用 React 毫无关系。
如果 Reddit 真心想解决爬虫问题,它们可以在 Old Reddit 上加 Cloudflare Turnstile、加 rate limiting、加浏览器指纹。它们没有这么做,是因为问题的根源不在安全 —— 而在经济。
三、2023-2026:Reddit 的三年数据围城
3.1 2023 年 API 收费事件
2023 年,Reddit 宣布对 API 访问收费,引发了自成立以来最大的社区抗议。大量 subreddit 关站、第三方客户端(Apollo、Sync、Reddit is Fun)集体死亡。
当时的核心理由也是”AI 公司免费使用 Reddit 数据训练模型”。
3.2 2024-2025:围墙逐步加高
API 收费后的两年间,Reddit 逐步筑墙:
- 限制未登录访问的搜索功能
- 在 New Reddit 中引入更多遥测和追踪
- 与 Google 达成数据授权协议(据报道价值 6000 万美元/年)
- 对 AI 训练数据访问进行商业化
3.3 2026:最后的堡垒
Old Reddit 是 Reddit 围墙的最后缺口。它轻量、开放、无需登录即可阅读所有内容。它也是 LLM 训练数据抓取的首选目标——不是因为安全性弱,而是因为效率高。
封堵 Old Reddit 的未登录访问,是这个缺口的最后一块砖。
四、LLM 时代的”数据保护区”
4.1 用户生成内容的战略价值
AI 时代的核心资源不是算力,不是算法,而是高质量的人类生成数据。
Reddit 的用户生成内容有独特的价值:
- 对话结构:问题-回答-讨论,天然的训练数据格式
- 多样性:覆盖几乎所有话题——从编程到烹饪到哲学
- 时效性:持续更新的实时数据
- 真实性:人类写的,不是 AI 生成的
4.2 开放与封闭的悖论
Reddit 面临一个根本性的矛盾:
- 对用户:Reddit 需要内容免费阅读,才能维持流量和参与度
- 对 AI 公司:Reddit 需要限制数据访问,才能将这些数据商业化
这个悖论没有优雅的解决方案。所有 UGC 平台都在这个矛盾中挣扎:
| 平台 | 策略 |
|---|---|
| API 收费 + 登录墙 + Google 数据授权 | |
| Twitter/X | API 分层、阅读限制、Grok 训练数据 |
| Stack Overflow | 与 OpenAI 达成数据授权协议 |
| Medium | 付费墙 + 禁止 AI 爬虫 |
4.3 “安全”成为标准话术
值得注意的是,所有平台在限制数据访问时,几乎都使用了类似的措辞:
- “保护用户安全”
- “防止恶意爬虫”
- “保护平台完整性”
这些话术的普遍性,恰恰暗示了它们真正指向的是同一个目标:控制数据流向。
五、Old Reddit 与开放式 Web 的理想
5.1 Old Reddit 是什么
Old Reddit 不是一个设计——是一个哲学。
它代表了对 Web 的一种特定理解:网页是文档,不是应用。服务器返回结构化的内容,浏览器渲染它,用户阅读它。没有追踪、没有遥测、没有 JavaScript bundle、不需要登录。
这种模式有几个重要特性:
- 可被搜索引擎索引:纯 HTML 对搜索引擎友好
- 可被归档:Internet Archive 可以保存完整的页面
- 可被辅助技术访问:屏幕阅读器不需要处理复杂的 JS 状态
- 可被 RSS 消费:内容可以推送到独立的阅读器
- 不需要登录:知识是公开的
5.2 开放式 Web 的三原则
Old Reddit 的关闭触及了一个更大的问题:开放式 Web 正在变成封闭式平台。
开放式 Web 建立在三个原则之上:
- 内容可链接:任意 URL 可以被任何人访问
- 内容可索引:搜索引擎可以抓取和检索内容
- 内容可归档:历史记录可以被保存和回放
登录墙打破了第一条原则。如果 URL 需要认证才能访问,它就不再是一个”链接”——它变成了一个”入口”。
5.3 平台的演化:从开放到封闭
所有平台都遵循一个类似的轨迹:
- 开放期:快速增长,公开内容,API 免费
- 变现期:引入广告,开始收集数据
- 围墙期:限制 API,要求登录,控制数据
- 封闭期:完全的围墙花园,数据只进不出
Reddit 在 2026 年正处于围墙期到封闭期的过渡阶段。Old Reddit 的登录墙是这个过渡的标志性事件。
六、那些不该被忘记的数据
6.1 互联网的”数据黑暗时代”
每一条被锁在登录墙后的内容,都在制造互联网的”数据黑暗时代”。
想想那些被 Reddit 论坛锁住的讨论帖:
- 2018 年有人问的”如何修复这个编程 bug”,答案对今天仍然有用
- 2016 年关于某个罕见疾病的讨论,是患者唯一能找到的信息来源
- 2020 年关于某个小众爱好者的指南,十年内都没有被超越
6.2 平台的承诺与背叛
Reddit 的核心承诺是:“社区的档案馆”。但当一个平台决定将公共内容变成私有资产时,它背叛了这个承诺。
用户贡献内容是免费的,基于一个隐含的理解:这些内容将公开可访问。当平台将内容锁起来时,它不是在保护用户——它是在将用户贡献的价值资本化。
6.3 去中心化替代方案
如果 Reddit 提供了无可替代的价值,也许问题不在于 Reddit,而在于缺乏真正的替代选择。
可选的路径:
- Lemmy:ActivityPub 协议的去中心化论坛网络
- Discourse:自托管论坛
- 静态论坛:基于 Markdown 的静态社区
- 个人博客与 RSS:去中心化的发布方式
但这些替代方案面临冷启动问题:网络效应是 Reddit 的护城河。
七、结论:纯 HTML 不安全,不等于平台应该锁门
Reddit 说”纯 HTML 不安全”。
从技术角度说,纯 HTML 的攻击面确实比 SPA 小。但 Reddit 不是在谈论安全——它在谈论控制。
Old Reddit 是 Web 上一个罕见的存在:一个大型平台提供的公开、可抓取、无需 JavaScript 的正常 HTML 网站。它的存在本身就是对”Web 必须是应用平台”这个预设的挑战。这也是它被关闭的原因——不是因为它不安全,而是因为它太好用了。
对于普通用户来说,这意味着:
- 你的搜索结果中来自 Reddit 的内容将逐渐减少
- 你可能需要在 Reddit 注册账号才能阅读原本公开的内容
- 平台上积累的知识正在变成私人资产
对于开发者来说,这是一个更深层的信号:如果你在乎开放 Web,你可能不应该在封闭平台构建你的社区。
对于整个互联网来说,这是一个令人担忧的先例:如果连纯 HTML 都被认为是”不安全”的,那还有什么不是?
原创技术博客 · 开源项目分享 · AI全栈创作社区 idao.fun