无意中看到同事有本《高性能网站建设指南》,趁着有时间借来读读。

简单的讲这是一本前端优化网站的书,作者总结了14条性能规则,我这里只记录下方便实用的方法。

规则一:减少HTTP请求

1.CSS Sprites 合并图片

2.合并脚本和样式表

规则二:使用内容发布网络(CDN)

规则三:添加Expires头

1.编辑动态语言生成的HTML页面时,配置长久的Expires头,可以缓存组件,在后续的页面浏览中减少不必要的HTTP请求。

规则四:压缩组件

1.gzip可以压缩HTML JS css

2.修改Apache 配置gzip

规则五:将样式表放在顶部

规则六:将脚本放在底部

规则七:避免CSS表达式

1.使用css里expression()方法会频繁求值

2.使用js事件处理

规则八:使用外部JavaScript和CSS

规则九:减少DNS查找

1.通过使用Keep-Alive和较少的域名来减少DNS查找

规则十:精简JavaScript

规则十一:避免重定向

规则十二:移除重复脚本

规则十四:配置ETag

配置或移除ETag

规则十五:使Ajax可缓存

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

《高性能网站建设指南》学习笔记相关推荐

  1. 第二行代码学习笔记——第六章:数据储存全方案——详解持久化技术

    本章要点 任何一个应用程序,总是不停的和数据打交道. 瞬时数据:指储存在内存当中,有可能因为程序关闭或其他原因导致内存被回收而丢失的数据. 数据持久化技术,为了解决关键性数据的丢失. 6.1 持久化技 ...

  2. 第一行代码学习笔记第二章——探究活动

    知识点目录 2.1 活动是什么 2.2 活动的基本用法 2.2.1 手动创建活动 2.2.2 创建和加载布局 2.2.3 在AndroidManifest文件中注册 2.2.4 在活动中使用Toast ...

  3. 第一行代码学习笔记第八章——运用手机多媒体

    知识点目录 8.1 将程序运行到手机上 8.2 使用通知 * 8.2.1 通知的基本使用 * 8.2.2 通知的进阶技巧 * 8.2.3 通知的高级功能 8.3 调用摄像头和相册 * 8.3.1 调用 ...

  4. 第一行代码学习笔记第六章——详解持久化技术

    知识点目录 6.1 持久化技术简介 6.2 文件存储 * 6.2.1 将数据存储到文件中 * 6.2.2 从文件中读取数据 6.3 SharedPreferences存储 * 6.3.1 将数据存储到 ...

  5. 第一行代码学习笔记第三章——UI开发的点点滴滴

    知识点目录 3.1 如何编写程序界面 3.2 常用控件的使用方法 * 3.2.1 TextView * 3.2.2 Button * 3.2.3 EditText * 3.2.4 ImageView ...

  6. 第一行代码学习笔记第十章——探究服务

    知识点目录 10.1 服务是什么 10.2 Android多线程编程 * 10.2.1 线程的基本用法 * 10.2.2 在子线程中更新UI * 10.2.3 解析异步消息处理机制 * 10.2.4 ...

  7. 第一行代码学习笔记第七章——探究内容提供器

    知识点目录 7.1 内容提供器简介 7.2 运行权限 * 7.2.1 Android权限机制详解 * 7.2.2 在程序运行时申请权限 7.3 访问其他程序中的数据 * 7.3.1 ContentRe ...

  8. 第一行代码学习笔记第五章——详解广播机制

    知识点目录 5.1 广播机制 5.2 接收系统广播 * 5.2.1 动态注册监听网络变化 * 5.2.2 静态注册实现开机广播 5.3 发送自定义广播 * 5.3.1 发送标准广播 * 5.3.2 发 ...

  9. 第一行代码学习笔记第九章——使用网络技术

    知识点目录 9.1 WebView的用法 9.2 使用HTTP协议访问网络 * 9.2.1 使用HttpURLConnection * 9.2.2 使用OkHttp 9.3 解析XML格式数据 * 9 ...

  10. 安卓教程----第一行代码学习笔记

    安卓概述 系统架构 Linux内核层,还包括各种底层驱动,如相机驱动.电源驱动等 系统运行库层,包含一些c/c++的库,如浏览器内核webkit.SQLlite.3D绘图openGL.用于java运行 ...

最新文章

  1. 将 Shiro 作为一个许可为基础的应用程序 五:password加密/解密Spring应用
  2. 省市地区表 mysql数据库
  3. 【arduino】arduino代码运行时间测试函数,代码性能运行时间测试方法
  4. 在ABAP里取得一个数据库表记录数的两种方法
  5. ajax页面载入动画,添加加载动画,jQuery的AJAX .load()
  6. angular 居中_Angular Material design设计
  7. [bzoj4763]雪辉[bzoj4812][Ynoi2017]由乃打扑克
  8. django创建模板报错:TemplateDoesNotExist at
  9. 当你是个35岁的硬件工程师,该如何选择未来的职业道路
  10. 网站后台爆破工具:WebCrack
  11. 一脸懵逼搭建Zookeeper分布式集群
  12. 华硕主板如何用u盘启动计算机,最新华硕主板bios设置u盘启动教程
  13. 今日头条(java后台开发)——实习生面试
  14. ios应用跳转小程序Universal Links链接验证不通过
  15. ES6-ES12所有特性详解
  16. 修改我的世界服务器怪物爆率,精英生成概率以及部分能力参数设置_我的世界精英怪mod教程如何调控怪物属性和掉落物__单机攻略_跑跑车单机游戏网...
  17. MP4文件中h264的 SPS、PPS获取
  18. ppt在线快速转换成pdf的方法
  19. 重做日志文件(redo log file)
  20. 五险一金 | 2020年个人所得税税率表

热门文章

  1. Oracle和Mysql获取uuid的方法对比
  2. 【自动化__持续集成】___java___重载
  3. jQuery命名空间,插件开发
  4. ubuntu查看端口占用
  5. wget指定目录下载以及其它的使用方式
  6. Ubuntu 14.04 LTS, 64bit, cuda 7, Caffe环境配置编译和安装
  7. Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
  8. 从0开始学习GitHub系列之「向GitHub 提交代码」
  9. Logistic Regression--逻辑回归算法汇总
  10. 英国税务机构HMRC被指收集了510万英国人的语音记录