我把一个网站存进了 favicon 里
favicon 存储的技术方法
- 一些评论者探讨了直接把 HTML 编码进 favicon 像素里,并像文章中的做法那样通过 JavaScript 解码。
- 另一些人提议使用 SVG favicon,直接把标记或 HTML 嵌入 SVG 中,然后再抓取并注入页面。
- 还有建议使用专门的 HTML 标签压缩方案,把更多内容塞进有限的像素里。
- 也有人提到 ICO 格式支持多种分辨率,因此可以存储更多数据。
替代载体与多义文件
- PNG 的注释块(tEXt、zTXt、iTXt)被提到是一种更容易把任意数据藏进普通图片的方法。
- 讨论还扩展到动图 GIF、在 SVG 里嵌入光栅图像,甚至把整个站点放进 SVG 的
<foreignObject>中。 - 还有人引用更早的多义文件技巧:同一个文件既是有效 HTML 又是 PNG(有时还是 ZIP/PDF),从而不需要单独的加载器。
安全、隐私与跟踪
- 多条评论指出 favicon 缓存可能成为指纹识别 / supercookie 的向量,尤其是在普通浏览和隐私浏览之间共享时。
- 有一种想法是把唯一的会话 ID 或 cookie 编码进每个用户的 favicon 里,以规避标准 cookie 清理。
- 也有人询问浏览器以及反指纹措施是否会处理 favicon + canvas 的滥用;修复状态并不明确。
性能、缓存与浏览器行为
- 浏览器对 favicon 的缓存既被视为挑战(旧数据)也被视为机会(通过轮换 favicon 进行流式数据传输)。
- 有人讨论通过内容协商让同一个 URL 同时作为 HTML 和 favicon 提供内容,或者在静态托管上使用基于符号链接的技巧。
- 还提到了过去关于“无限制” favicon 导致浏览器崩溃的 bug。
用例与实用性
- 许多人把这看作一种有趣但不实用的黑客玩法,只是让 Web 变得更有意思。
- 推测性的用途包括隐蔽存储(密码、数据外泄)、规避审查,或者在意想不到的位置隐藏数据所构建的“新生态”。
- 也有人质疑它在现实中的价值,尤其是当隐私工具已经会阻止其中一部分流程时。
元讨论:写作风格与 AI 争论
- 相当大的一段子线程在争论这篇文章是否是 LLM 生成的。
- 有人觉得这种简短、重列表的风格“很像 AI”,令人不适;也有人认为它清晰、节省读者时间。
- 大家对 AI 检测工具的可靠性存在分歧,并担心人们会过度把写作归因于 LLM。