我可以使用任何开源 HTTP 缓存代理来给自己一个好的起点吗?
我想写一个个人的HTTP缓存代理来达到以下目的
- 即使远程站点速度很慢,也能立即提供内容
- 即使网络中断也能提供内容
- 如果我愿意,请允许我阅读旧内容
我为什么要这样做?
- 我所在地区的互联网连接速度远非惊人。
- 即使 HTTP 标头告诉我不要缓存,我也想缓存内容
- 当我无法快速访问我过去读过的内容时,我真的不喜欢它。
- 当一个网站删除了有用的内容并且我没有办法找回它时,我感到无能为力
该项目包括
- 在本地网络(或者可能在 localhost)上运行它的代理,以及
- 用于显示内容更新通知的浏览器插件或桌面程序
代理有什么特别之处?
- 浏览器发起 HTTP 请求
- 代理首先提供内容,如果它已经在缓存中
- 然后代理联系远程网站并检查内容是否已更新
- 如果内容已更新,则向桌面/浏览器发送通知(例如显示一个小弹出窗口或更改插件图标的颜色),然后在后台下载内容。
- 每次代理下载新内容时,将其保存到缓存中
- 让我选择是否加载更新的内容(如果没有,停止下载新内容;如果是,将新内容流式传输给我)
- 让我分配规则以始终/从不从某些网站加载新内容
- 如果代理发现(1)我总是想从某个网站加载新鲜内容,或(2)该网站的内容经常更新,则自动设置规则
笔记:
- 缓存所有内容不会造成安全问题,因为我是唯一一个可以物理访问代理的人,并且代理只为我服务(来自本地网络)
- 我认为这在技术上是可行的(如果您发现任何架构问题,请告诉我)
- 我还没有决定是否应该保留旧版本的网页。但考虑到我每天使用的带宽只有 1-2 GB,一个便宜的 1TB 硬盘可以轻松保存两年的数据!
我的计划有意义吗?有什么建议/反对/建议吗?