1. 内容优化
  • 减少 HTTP 请求数:这条策略是最重要最有效的,因为一个完整的请求要经过 DNS 寻址,与服务器建立连接,发送数据,等待服务器响应,接收数据这样一个消耗时间成本和资源成本的复杂的过程。常见方法:合并多个 CSS 文件和 js 文件,利用 CSS Sprites 整合图像,Inline Images(使用 data:URL scheme 在实际的页面嵌入图像数据 ),合理设置 HTTP 缓存等。
  • 减少 DNS 查找
  • 避免重定向
  • 使用 Ajax 缓存
  • 延迟加载组件,预加载组件
  • 减少 DOM 元素数量:页面中存在大量 DOM 元素,会导致 javascript 遍历 DOM 的效率变慢。
  • 最小化 iframe 的数量:iframes 提供了一个简单的方式把一个网站的内容嵌入到另一个网站中。但其创建速度比其他包括 JavaScript 和 CSS 的 DOM 元素的创建慢了 1-2 个数量级。
  • 避免 404:HTTP 请求时间消耗是很大的,因此使用 HTTP 请求来获得一个没有用处的响应(例如 404 没有找到页面)是完全没有必要的,它只会降低用户体验而不会有一点好处。
  1. 服务器优化
  • 使用内容分发网络(CDN):把网站内容分散到多个、处于不同地域位置的服务器上可以加快下载速度。
  • GZIP 压缩
  • 设置 ETag:ETags(Entity tags,实体标签)是 web 服务器和浏览器用于判断浏览器缓存中的内容和服务器中的原始内容是否匹配的一种机制。
  • 提前刷新缓冲区
  • 对 Ajax 请求使用 GET 方法
  • 避免空的图像 src
  1. Cookie 优化
  • 减小 Cookie 大小
  • 针对 Web 组件使用域名无关的 Cookie
  1. javascript 优化
  • 将 JavaScript 脚本放在页面的底部。
  • 将 JavaScript 和 CSS 作为外部文件来引用:在实际应用中使用外部文件可以提高页面速度,因为 JavaScript 和 CSS 文件都能在浏览器中产生缓存。
  • 缩小 JavaScript 和 CSS
  • 删除重复的脚本
  • 最小化 DOM 的访问:使用 JavaScript 访问 DOM 元素比较慢。
  • 开发智能的事件处理程序
  • javascript 代码注意:谨慎使用 with,避免使用 eval Function 函数,减少作用域链查找。
  1. 图像优化
  • 优化图片大小
  • 通过 CSS Sprites 优化图片
  • 不要在 HTML 中使用缩放图片
  • favicon.ico 要小而且可缓存