我曾在使用 Squid 缓存视频的众多脚本示例中看到过字符串“SQUIDINTERNAL”,但是,它们都没有解释为什么在域上附加“SQUIDINTERNAL”字符串,例如:http://video-srv.youtube.com.SQUIDINTERNAL/
使用它的目的是什么?
以下是示例脚本:http://wiki.squid-cache.org/Features/StoreUrlRewrite/RewriteScript
答案1
经过一年多的时间,我终于找到了答案,埋藏这里。
许多网站使用 CDN(内容分发网络)来扩展其网站。其中一些网站在其他域上使用相同的 URL。我可以演示的主要开源参与者之一是 SourceForge。他们在世界各地都有镜像,并使用前缀域来选择镜像,例如:
http://iweb.dl.sourceforge.net/project/assp/ASSP%20Installation/README.txt
http://cdnetworks-kr-2.dl.sourceforge.net/project/assp/ASSP%20Installation/README.txt
因此,这是简单的 URL 重复数据删除的一个例子。通过将所有子域存储在一个“键”下,可以轻松解决此情况。有点像这样的伪代码:的每个子域
dl.sourceforge.net
都应存储为:dl.sourceforge.net.some_internal_key
。以及一个 ruby 示例来演示此代码:
url =
"http://iweb.dl.sourceforge.net/project/assp/ASSP%20Installation/README.txt"
key = "http://dl.sourceforge.net.squid.internal/" +
url.match(/.*\.dl\.sourceforge\.net\/(.*)/)[1]