Recuérdame

by wzyboy on

Disney 的动画电影 Coco 以墨西哥节日亡灵节(Día de Muertos)为背景,讲述了小男孩 Miguel 追寻自己梦想的故事。电影中,已经去世的亲人会进入亡灵的世界继续生活,并且只要有生者记得他们,并在亡灵节当天把他们的照片放在祭坛上,他们便可以在那天暂时回到生者的世界看望自己的亲人。而一旦不再有任何生者记得他们了,他们便会化为一片光辉,达到「终极死亡」。

最近将博客从 WordPress 迁移到了 Lektor,昨天和 Jimmy Xu 聊天时谈到迁移过程中遇到的各种有趣的事情,也聊到了 link rot 的问题。继而想到,我们在互联网上发布的内容,包括创作的文字、拍摄的照片与视频等,只要还有人转载、引用,即使创作者已经自己不记得了,互联网也会记得这些内容,而当整个互联网都忘记了这些内容,那这些内容也就「终极死亡」了。

以下内容主要由我和 Jimmy Xu 的聊天记录整理而成。有删改。


外链图片

在 WordPress 里上传的图片都是存储在 /wordpress/wp-content/uploads/ 目录里的,而迁移到 Lektor 之后这些路径就不再存在了。自己文章里引用的图片地址我批量替换成了新的地址,但是那些转载我的文章的网站并不会替换地址,一些爬虫也不会去更新。看着 Nginx 错误日志里一堆 404,我给原来的图片地址加上了重定向,跳转到新地址。

既然加了 301 跳转,我就想看看到底是有哪些网站在外链我博客里的图片。于是打开了 CloudFront 的 Referer 转发功能。

[01:08:30] Zhuoyun Wei: 明知那些还在访问 wp-content 的都是外链,还是加上了 301 跳转… [01:09:57] Jimmy Xu: 转载( [01:10:09] Zhuoyun Wei: 还有爬虫 [01:10:25] Zhuoyun Wei: 前几个 IP 看了下有 google 的有 ms (bing?) 的… [01:10:52] Zhuoyun Wei: 可惜跳走之后就是去 S3 了,所以我也不知道它到底有没有 follow 301 [...] [01:15:56] Zhuoyun Wei: 所以我很好奇这些爬虫是如何拿到这些图片地址的呢…网页已经没有了,cache 也早就清空了… [01:16:11] Jimmy Xu: 发到网上的地址就再也消失不了了( [01:16:17] Jimmy Xu: 还有爬archive来更新的呢( [01:16:24] Zhuoyun Wei: hmm [01:16:47] Zhuoyun Wei: 可惜我 CloudFront 里没转发 referer [...] [01:21:48] Zhuoyun Wei: 好了,加上 Referer 了… [...]

图片防盗链

加上 301 跳转之后,访问日志里那些依然在用旧 URL 访问图片的自然就是转载站了。从 Referer 可以看出它们是谁。然后想到自己当年在用限制流量的 cPanel 共享主机的时候,因为转载文章外链图片流量过大而经常超出共享主机流量限制,而采用过图片防盗链技术。

[01:30:55] Zhuoyun Wei: 盯着看了一会儿 access log [01:31:02] Zhuoyun Wei: 感觉能重现一个人的访问过程 [01:31:08] Zhuoyun Wei: 脑内 Google Analytics [01:31:15] Jimmy Xu: 嗯嗯( [...] [01:35:08] Zhuoyun Wei: xx.xx.xx.xx - - [16/Dec/2017:17:33:47 +0000] "GET /wordpress/wp-content/uploads/2015/05/youtube-4k-nghttpx.png HTTP/1.1" 301 185 "https://xijie.wordpress.com/" "Amazon CloudFront" google 接下来几个结果就是转载了,随便点一个进去,立刻就多了一条 [01:35:14] Zhuoyun Wei: 你看这 referer 就是只写域名 [01:35:16] Zhuoyun Wei: https 的 [01:35:22] Zhuoyun Wei: 外链图片 [01:35:28] Jimmy Xu: 嗯( [01:35:28] Zhuoyun Wei: 301 走了 [01:35:31] Jimmy Xu: 防盗链( [01:36:03] Zhuoyun Wei: 嗯哪天流量费过高了我就把这个 301 切了 [01:36:17] Zhuoyun Wei: 像这样的盗链转载就全挂了 [01:37:04] Jimmy Xu: 从小就知道图挂了的时候复制地址到新窗口打开试试( [01:37:14] Jimmy Xu: 你这样多不好( [01:37:24] Zhuoyun Wei: 当年我也在 .htaccess 里弄过 hotlink.gif [01:38:04] Zhuoyun Wei: 注明原文的话,照样可以点开看嘛… [01:38:17] Jimmy Xu: 是啦(

图床的消亡

然而随着 VPS 的普及和流量费用价格的下跌,我早就不再使用图片防盗链这样的「抠门」技术了。但是不少图床却依然在用这样的技术,在一些自身不提供贴图功能的网站上,用户发布内容时常会将图片上传到第三方网站(图床)然后外链过来。当图床因为各种原因开启了防盗链之后,这些用户发表的内容里就充满了各种「该图片仅供内部交流使用」。

[01:38:23] Jimmy Xu: 感觉图床挂也不是一天两天了 [01:38:25] Jimmy Xu: 什么七牛 [01:38:27] Jimmy Xu: 什么又拍 [01:38:31] Zhuoyun Wei: 😂 [01:38:33] Jimmy Xu: 再之前还有一堆 [01:38:37] Jimmy Xu: 都是说404就404了( [01:38:43] Zhuoyun Wei: 「该图片仅供内部交流使用」 [01:38:47] Jimmy Xu: 煎蛋用过啥来着 [01:38:50] Jimmy Xu: 嗯( [01:38:59] Jimmy Xu: 网易博客( [01:40:03] Zhuoyun Wei: 我在 sed 批量换图的时候倒是发现 2010 年的某篇文章里外链过 engadget 的图,居然还能工作 [01:40:13] Zhuoyun Wei: 然后我就把那图下载下来重新上传了一遍 [01:40:21] Jimmy Xu: 国外的不少博客都没啥大问题… [01:40:28] Zhuoyun Wei: 嗯… [01:40:29] Jimmy Xu: 五年十年前的文图都能打开 [01:40:31] Jimmy Xu: 国内么 [01:40:37] Jimmy Xu: 两年前的还能看都不错了 [01:40:56] Zhuoyun Wei: 是啊 [01:41:05] Zhuoyun Wei: 有的干脆就是博客平台跑路/倒闭了 [01:41:15] Jimmy Xu: 有的是图床倒闭了 [01:41:20] Zhuoyun Wei: 嗯 [01:41:26] Zhuoyun Wei: 还有 hosting 倒闭的 [01:41:31] Zhuoyun Wei: 那个更惨,文字都没了 [01:41:34] Zhuoyun Wei: 只能看 google cache 了 [01:41:37] Jimmy Xu: 还有迁移了几次旧的惨不忍睹也不管了的

「永久链接」

不仅是图床,许多博客平台本身也倒闭或跑路了,用户们在迁移过程中,也打破了许多「永久链接」,有些内容永远丢失了。

[01:41:47] Jimmy Xu: 嗯,break永久链接的大有人在 [01:42:03] Zhuoyun Wei: 一点也不永久 [01:42:36] Zhuoyun Wei: 这么说来还是挺感慨的 [01:42:48] Zhuoyun Wei: 博客衰落了啊… [01:43:00] Jimmy Xu: 其实越看到那些“图挂了”或者防盗链的图,其实就越对底下的图床没好感( [01:43:08] Jimmy Xu: 虽然可能是站长选择的不给看( [01:43:10] Zhuoyun Wei: Web Archive 这些才是比较伟大 [01:43:17] Jimmy Xu: 但总会把火放到图床上( [01:43:39] Jimmy Xu: 是啊…一个博客倒掉的时候站长很少会想archive内容的( [01:43:47] Zhuoyun Wei: 嗯,在 bgm 里看老番评论比较容易看到… [01:43:59] Jimmy Xu: geocities [...]

别说个人博客了,一些大的电商网站也做不到维护链接的长期有效性。比如京东商城曾经用过的域名 www.360buy.com,曾经是可以一对一地跳到对应的 www.jd.com 的新页面的,前段时间,这个跳转挂了。

[01:46:11] Jimmy Xu: 其实印象深刻的是很长的一段时间到joyo.​com的书链接都是能正确跳转到amazon对应页面的 [01:46:31] Zhuoyun Wei: 然后前段时间 360buy 终于挂了? [01:46:35] Jimmy Xu: 对( [01:46:42] Jimmy Xu: 360buy的链接跳转早就挂了 [01:46:42] Zhuoyun Wei: 😂 [01:46:48] Zhuoyun Wei: 历史的车轮辗过来了 [01:46:58] Jimmy Xu: 嗯卓越现在也挂了 [...] [01:50:14] Jimmy Xu: https://www.google.ca/search?q=www.joyo.com%2Fbook%2Fdetail.asp [01:50:19] Jimmy Xu: 都挂了( [...]

Link Rot

其实我们讨论的这个现象有个专门的名字,叫 link rot。我在 2010 年做过一个有关 GFW 的幻灯片,当时本着「狡兔三窟」的思想,同一份文件上传了七八个不同的「网盘」,然而 7 年过去了,它们中的大部分也已经失效了。其中甚至包括 Windows Live Drive 这样的「名门」。好在这些文件我还有,能拯救几个是几个吧。

[02:36:32] Jimmy Xu: link rot很严重啊( [02:36:35] Jimmy Xu: 外链( [02:36:53] Zhuoyun Wei: 啥? [02:37:12] Jimmy Xu: GFW文的幻灯片基本都下不到了( [02:37:29] Zhuoyun Wei: 哦上传的一堆网盘都挂了是吧 [02:37:39] Jimmy Xu: 是啊( [02:37:45] Jimmy Xu: wzyboy.​info也挂了( [02:37:49] Zhuoyun Wei: 这比图床衰落得更严重 [02:38:00] Jimmy Xu: box com还在( [02:38:09] Jimmy Xu: drive也还在( [02:38:15] Zhuoyun Wei: Documents/1970-2013/PowerPoint/project-gfw/whats-gfw-2010-05.ppt [02:38:27] Zhuoyun Wei: wzyboy.info 的可以换成 .im 的重传一遍… [...]

文体:聊天

为了不让这些讨论互联网内容丢失的内容本身丢失,我将这些聊天记录整理成了本文。

[01:44:22] Zhuoyun Wei: 感觉这些讨论很有价值啊,快去写篇博客… [01:44:32] Jimmy Xu: 啊我现在都没有博客了( [01:44:43] Jimmy Xu: cn.wordpress.org么( [01:44:46] Zhuoyun Wei: 那…发布到我的博客上?给你留个 post id ( [01:45:00] Zhuoyun Wei: 我 post id 从未 break 过呢… [...] [01:52:40] Zhuoyun Wei: 说起来你真的不写篇博客么…感觉刚才的讨论的内容很有整理成文保存下来的价值啊 [01:52:48] Jimmy Xu: telegram-history-dump( [01:53:17] Zhuoyun Wei: 对哦,你可以拿 history 整理一下弄篇文章… [01:53:22] Zhuoyun Wei: 文体:聊天 [01:53:59] Jimmy Xu: 已经写不动文章了( [...] [01:57:58] Jimmy Xu: 还得找ref( [01:58:00] Jimmy Xu: 麻烦死了( [...]