我有一个想法,关于如何大大加快我的网站并减轻我的服务器上缓存对象的负载,但我想知道这是否是一个非常愚蠢的想法,然后再花一整天的时间思考它!听我说 -
localStorage 对象至少有 2.5 MB(在 Chrome 中,这里有更多),这对于大多数小型站点来说已经足够了。这就是为什么我想知道 - 对于小型静态网站,基本上将整个网站保存在一个巨大的 localStorage 文件中并基本上每次都从访问者自己的计算机加载网站是一个好主意吗?为了更好地解释我的想法,这里有一些伪代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!--other head information-->
</head>
<body>
<script>
if (localStorage.getItem('cached_site')!=null) {
document.getElementsByTagName("body")[0].remove();
document.documentElement.innerHTML = localStorage.getItem('cached_site');
//Somehow stop loading the rest of the site (ajax?)
}
else {
//set localStorage var to the source code of the site.
//**This will be fleshed out to data/base64 all image resources as well**
localStorage.setItem('cached_site',document.documentElement.innerHTML);
//load the site as normal
}
</script>
</body>
</html>
这会将 的内容保存在body
名为cached_site
. 逻辑存在一些问题(例如“停止加载站点”部分),但您明白了。
这值得吗?潜在地,请求可以完全从静态内容中删除,因为它们都被加载到用户的计算机上。为了更新内容,也许可以在else
块中保存和检查另一个值,也许是版本号。
我的虚拟主机限制了我每天可以获得的请求数量,这就是我想到这个的原因。这不是什么大不了的事,但仍然是一个有趣的项目。