高性能网站建设指南(十四)使Ajax可缓存

Ajax(Asynchronous JavaScript and XML)由Jesse James Garrett于2005年提出(尽管如果除了XML还有很多选择,最著名的是JSON)。AJax不是一个单独的、需要许可证的技术,而是一组技术,包括JavaScript、CSS、DOM和异步数据获取。Ajax的目的是为了突破Web本质的开始-停止交互方式。向用户显示一个白屏然后重绘整个页面不是一种好的用户体验。而Ajax在UI和Web服务器之间插了一层。这个Ajax层位于客户端,与Web服务器进行交互以获取请求的信息,并与表现层交互,仅更新哪些必要的组件。它将Web体验从“浏览页面”转变为“与应用程序进行交互”。

异步与即时(Asynchronous = Instantaneous)

Ajax的一个明显的有点就是向用户提供了即时反馈,因为它异步地从后端Web服务器请求信息。

用户是否需要等待的关键因素在于Ajax请求是被动还是主动。被动请求(Passive Request)是为了将来使用而预先发起的。主动请求(Active Request)是基于用户当前的操作而发起的。

优化Ajax请求(Optimizing Ajax Requests)

当发起主动Ajax请求时,用户可能仍须等待。要改善性能,优化这些请求很重要。优化主动Ajax请求的技术同样适用于被动Ajax请求,主动请求对用户体验的影响更大。

改善这些主动Ajax请求最重要的方式就是使响应可缓存。之前的一些规则也适用于 Ajax请求。

  • 规则四——压缩组件
  • 规则九——减少DNS查找
  • 规则十——精简JavaScript
  • 规则十一——避免重定向
  • 规则十三——ETag用还是不用

确保Ajax请求遵守性能指导,尤其应具有长久的Expires头。


Copyright © 2018 Darkerxi