Web サイトを大幅に高速化し、キャッシュされたオブジェクトのサーバーの負荷を軽減する方法についてのアイデアがありましたが、一日中考える前に、これは非常にばかげたアイデアであるかどうか疑問に思っています。聞いて -
localStorage オブジェクトには最小 2.5 MB があり (Chrome の場合、詳細はこちら)、ほとんどの小規模なサイトには十分です。私が疑問に思っているのは、小規模で静的な Web サイトの場合、基本的にサイト全体を巨大な 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
という localStorage ファイルに保存されcached_site
ます。ロジックにはいくつかの問題があります (「サイトの読み込みを停止する」部分など) が、アイデアはわかります。
これは価値がありますか?静的コンテンツはすべてユーザーのコンピューターに読み込まれるため、要求が静的コンテンツから完全に切り離される可能性があります。コンテンツを更新するために、おそらく別の値、おそらくバージョン番号をelse
ブロックに保存してチェックすることができます。
私のウェブホストは、1 日に取得できるリクエストの量を制限しているため、これを考えました。大したことではありませんが、それでも興味深いプロジェクトです。