在 Squid 或任何代理服务器上预取和缓存 HTTP 请求

在 Squid 或任何代理服务器上预取和缓存 HTTP 请求

是否有代理服务器(最好是 Squid)或类似的软件可以让我从列表或 API 中预先排队 100 个 URL,并透明地缓存 HTML 数据(发出并行请求)。

那么稍后当我请求其中一个 URL 时,它会快速提供缓存版本吗?

答案1

使用您喜欢的任何缓存代理,您都可以编写缓存预热请求脚本 - 代理将根据其策略负责缓存响应(确保分配足够的存储并设置足够持久的保留)。

按照以下示例的精神,一些脚本可以很好地通过代理获取 URL 列表:

#!/bin/bash
http_proxy=http://proxy.exemple.net:3128/; export http_proxy
for my_url in `cat one_url_per_line_file` do
  wget -r -nd --delete-after $my_url
done

相关内容