我把一个网站存进了 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。