最近,我想出了一些关于如何提高 Web 应用程序整体性能的想法,而不是从 Web 服务器生成准备显示的 html 页面,为什么不让它在客户端完全生成。这样做,只需要将纯数据(在我的例子中是 JSON 格式的数据)发送到浏览器。这会将 html 生成的工作从服务器卸载到客户端的浏览器,并减少发送回用户的响应数据包的大小。
经过一番研究,我发现这个框架(http://beebole-apps.com/pure/)和我的一样。
我想知道的是这样做的利弊。对于 Web 服务器来说,它肯定更快更好,并且使用现代浏览器,Javascript 代码可以快速运行,因此可以快速完成页面生成。
这种方法的缺点可能是 SEO。我不确定像谷歌这样的搜索引擎是否会适当地索引我的网站。 你能告诉我这种方法的缺点是什么吗?
Ps:我还附上了示例代码来帮助描述方法如下:
在头部,简单的 javascript 代码将像这样编写:
<script type='javascript' src='html_generator.js'/>
<script>
function onPageLoad(){
htmlGenerate($('#data').val());
}
</script>
在正文中,只有一个元素存在,仅用作数据容器,如下所示:
<input type='hidden' id='data' value='{"a": 1, "b": 2, "c": 3}'/>
当浏览器渲染文件时,会调用 html_generator.js 中的 htmlGenerate 函数,并在该函数中生成整个 html 页面。请注意,html_generator.js 文件可能很大,因为它包含很多 html 模板,但由于它可以缓存在浏览器中,因此只会下载一次。