gpt4 book ai didi

Javascript 拦截请求并使用我的 VPS 上的缓存副本

转载 作者:行者123 更新时间:2023-11-28 08:38:37 27 4
gpt4 key购买 nike

我喜欢在浏览器中制作原型(prototype)——使用 Jquery/类似工具来修改 DOM、加载脚本、图像、CSS 等,而无需接触文本编辑器或 Unix shell。

有什么我可以在 VPS 上安装的东西,只需下载我从特定脚本请求的网络上任何文件的副本,这样下次我请求它时,它将从我的 VPS 提供,而不是再次触及原点?显然浏览器已经缓存了大部分内容,但不同的是我希望其他计算机上的其他用户在我的 VPS 上获取缓存的副本 - 但这与设计无关 -

例如:

require("library-that-checks-for-a-copy-on-my-VPS");

//pulls it down from Flickr's servers
loadImageFromFlickr("flickr.com/kitty18.jpg");

//now there's a copy on my VPS, so it's pulled down from there instead
loadImageFromFlickr("flickr.com/kitty18.jpg");

我真的不熟悉缓存,而且选项看起来令人畏惧,所以我专门寻找不需要太多配置的东西;我的要求看起来很简单——这只是为了开发,所以不需要优化。

最佳答案

非常简单,只需使用一个对象来存储针对其 url 的请求结果。这样,当您调用 loadImageFromFlickr 时,第一行是这样的......

var cache = {};
function loadImageFromFlickr(url) {
if (cache[url]) return cache[url];
/* fetch the content */
return (cache[url] = functionToGetContent(url));
}

如果您希望副本在 session 期间持续存在(即在服务器重新启动之间保持缓存),那么您应该考虑将内容响应存储在根据 url 键构建的 cache 文件夹中。然后您可以从文件中检索而不是返回缓存对象中的内容。

PS,更简洁return (cache[url] ||= functionToGetContent(url))

关于Javascript 拦截请求并使用我的 VPS 上的缓存副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20776029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com