我将动态网站分为两种:
第一个使用例如 PHP ,让 PHP 连接一个 HTML 页面,然后推送回客户端;
第二种使用 HTML 模板,所有 Web 界面仅提供 JSON 数据,在加载 HTML 页面时动态提供所有字段。
前一种网站的优势是什么?那么缓存呢?
基于 PHP 的网站更容易制作、更容易缓存、索引更好,但内容却少得多。
基于 Ajax 的站点更具动态性,如果做得好,感觉会更快,因为您可能会异步接收许多小数据来更新需要更新的内容。当他们成长时,他们需要编码人员更多的纪律和能力。制作它们的关键是真正了解基础技术。
在这些类别中,我将添加服务器不是像 PHP 这样的纯被动技术但支持后台线程和复杂计算的情况(我使用的那些)。例如,您可以对这些站点使用 java 或 Go。对于使用 websockets 将数据从服务器推送到客户端的基于 ajax 的站点来说,这更加方便。
与 LAMP 不同的是,Ajax 应用程序并不是您必须实现的一种风格。您必须根据您的精确需求选择您的工具(例如用于缩小、存储等),在客户端,可以使用“原始”技术(html+js)制作基于 Ajax 的网站,我个人不这样做我不喜欢使用大框架,但你会发现 jquery 有助于使代码更干净。
我认为前一种网站在你的需求很小的时候更有用,因为没有适当模板的动态 html 可能会导致意大利面条代码的混乱,但它在原型设计阶段肯定更敏捷,他们不需要 JS,只是一个插件在网络服务器上。
尽管如此,Ajax(以及一般的 RIA 站点)更具动态性,而且它们现在肯定会在企业 Web 开发中占据上风。它们更难开始,因为很多时候你有更多的框架和依赖项,但从长远来看,使用通用格式 (JSON)、标准库等在维护和功能增长方面具有真正的优势。
关于缓存,我认为以清晰的方式组织丰富的动态站点也可以改进缓存,因为您可以使用例如 JSON 结构来实现对服务器的请求,并使用键值缓存来检索已经生成的 HTML 文件。