1. Web2.0、DHTML、Ajax
Web 2.0的关键概念包括类似应用程序的用户界面和来自多个Web Services的聚合信息。Web页面变得越来越像一个具有良好定义的输入、输出的应用程序。DHTML和Ajax是实现这些概念的技术;
DHTML是允许在页面加载完毕后,HTML页面的表现能够变化。这使用Javascript和CSS与浏览器的DOM进行交互来实现。Ajax是DHTML中使用的一项技术,客户端可以获取和显示用户请求的新信息而无需重新加载页面;
Ajax表示异步的JavaScript和XML(Asynchronous JavaScript and XML)。Ajax不是一个单独的、需要认可证的技术,而是一组技术,包括JavaScript、CSS、DOM和异步数据获取。Ajax的目的是为了突破Web本质的开始-停止交互方式。Ajax在UI和Web服务器间插入了一层,这个Ajax层位于客户端,与Web服务器进行交互以获取请求的信息,并与表现层交互,仅更新那些必要的组件。它将Web体验从”浏览页面“转变为”与应用程序进行交互“。
Ajax应用程序可采用IFrame和XMLHttpRequest技术来实现。YUI进行Ajax开发比较好。
2. 异步和即时
Ajax异步不意味着即时,但是用户等待时,UI仍然是可响应的;
Ajax给交互设计师带来了更多的灵活性。然而,我们的能力越强大,在使用的时候越应该小心。我们必须小心地使用Ajax,确保它是优化了应用程序的用户体验,而不是恶化了。
3. 适用于Ajax请求的规则优化
规则3——添加Expires头(最重要)
规则4——压缩组件
规则9——减少DNS查找
规则10——精简Javascript
规则11——避免重定向
规则13——配置ETag
4. 缓存Ajax
使用一个长久的Expires头;
还要考虑响应的个性化和动态本质必须被反映到缓存中;
对于隐私数据,大多会使用Cache-Control:no-store,这样响应写不到硬盘;
对于隐私数据,最佳的方法是使用SSL,SSL的响应是可缓存的(firefox只能用于一次会话)——在确保数据隐私的同时在当前会话中缓存响应以改善用户体验。