是否可以缓存动态网页?


is it possible to cache a dynamic web page?

是否可以缓存动态网页,如果javascript被用来改变显示或写入新的innerHTML到页面。例如,可能一些ajax运行并从数据库中获取一些信息,然后通过重写div的innerHTML动态显示在页面上。

是否有可能缓存最终的html并提供它,而不是每次重新创建它。谢谢你,

当然可以。

通常使用自动完成文本输入框来缓存结果,以便按退格键或删除键不会重新向服务器发送请求。

怎么做?只需从DOM树中读取innerHTML并保存在某个地方,在JavaScript变量中,甚至在HTML5本地存储中。

这真的取决于你的页面实际上有多动态,特别是如果你显示的信息直接与用户有关,即。"G'Day Flungabunga, how are thing in Sydney, Australia",通过ajax请求。

根据我的经验,用于实现这些结果的缓存并且仍然保持javascript作为核心机制的解决方案和技术变得过于复杂和脆弱。

为了实现这种行为并能够有效地缓存这些结果,我们使用了Varnish缓存及其ESI (Edge Side Includes)功能。

我知道这个答案在某种程度上离题了,但是你可能会发现,考虑不同的机制可能会给你一个更优雅的解决方案。