这两本书就一块儿搞了,大多数已经理解,简单做个标记。主要对自己不太了解的地方,做一些记录。
 
一、读《高性能网站建设指南》
  0> 黄金性能法则:只有10%~20%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上。
  1> 尽量减少HTTP请求
  2> 使用CDN
  3> 添加Expires头
  4> 采用Gzip压缩组件
  5> 将样式表放在顶部
  6> 将脚本放在底部
  7> 避免CSS表达式
  8> 使用外部JavaScript和CSS
  9> 减少DNS查找
  10> 精简JavaScript
  11> 避免重定向
  12> 避免重复脚本
  13> 配置Etag
  14> 使Ajax可缓存
 
二、读《高性能网站建设进阶指南:Web开发者性能优化最佳实践》
第一章:理解Ajax性能
1> 权衡——时间、质量和成本,三选二
2> 优化原则——降低程序的整体性能。
  把重点放在对程序整体开销影响大的那部分。优化那些开销不大的组件收效甚微。分析应用程序和分析算法密切相关。自习观察程序的执行时间后,我们会发现其大部分时间都消耗在循环上。所以,优化那些只执行一次的代码得到的回报微不足道,但优化内部循环的好处却能达到立竿见影的效果。
  浏览器通常在运行JavaScript上花费的时间很少。绝大部分时间消耗在DOM上。
3> 善加利用ajax技术能使应用程序运行得更快,用好它的关键是在浏览器和服务器之间建立平衡。
 
第二章:创建快速响应的web应用
  足够快的标准:
基于Web应用的响应时间准则和所有其他应用一样。37年来这些准则毫无变化。所以它们也不太可能因新技术的出现而发生变化。
 
0.1秒:用户直接操作UI中对象的感觉极限。比如,从用户选择表格中的一列到该列高亮或向用户反馈已被选择的时间间隔。理想情况下,它也是对列进行排序的时间响应——这种情况下用户会感到他们正在给表格排序。
 
1秒:用户随意地在计算机指令空间进行操作而无需过度等待的感觉极限。0.2~1.0秒的延迟意味着会被用户注意到,因此感觉到计算机出于对指令的“处理中”,这有别于直接响应用户行为的指令。例如:如果根据被选择的列对表格进行排序无法再0.1秒内完成,那么必须在1秒内完成,否则用户将感觉到UI变得缓慢且在执行任务中失去“流畅”的体验。超过1秒的延迟要提示用户计算机正在解决这个问题。例如改变光标的形状。
 
10秒:用户专注于任务的极限。超过10秒的任何操作都需要一个百分比完成指示器。以及一个方便用户终端操作且有清晰标示的方法。假设用户遭遇超过10秒延迟后才能返回到原UI的情况,他们将需要重新适应。在用户的工作中,超过10秒的延迟尽在自然中断时可以接受。比如切换任务时。
 
第三章:拆分初始化负载
  在初始化页面的时候只加载必要的模块(包括JavaScript和Css等),其余的按需加载。
 
第四章:无阻塞加载脚本
  1> XHR注入
  2> Script in Iframe
  3> Script DOM Element
  4> Script Defer
  5> document.write Script Tag
 
第五章:整合异步脚本
  对于无阻塞脚本加载的技术,需要整合行内脚本和其依赖的异步加载外部脚本的技术,解决加载顺序等问题。
 
第六章:布置行内脚本
  理解行内脚本位置对性能的影响——行内脚本阻塞并行下载
  a> 把行内脚本移至底部
  b> 异步启动脚本
  c> 使用script的defer属性
 
第七章:编写高效的JavaScript
    避免过多的DOM交互、过多的循环、过多的递归
 
第八章:可伸缩的comet
 
第九章:超越Gzip
  最小化未压缩文件的大小等
 
第十章:图像优化
1> 合理选择图片格式
2> 自动化使用无损压缩技术尽可能削减图片大小
 
第十一章:划分主域
  域从一个增加到两个对性能有所提高。但数量超过两个时反而对加载时间有负面影响。最终数量取决于资源的大小和数量,但划分域是个很好的经验。
 
第十二章:尽早刷新文档的输出
 
第十三章:少用iframe
1> 开销最高的DOM元素
2> 阻塞onload事件
......
 
第十四章:简化CSS选择符
    样式系统从最后边的选择符开始向左匹配规则。只要当前选择符的左边还会有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配的元素,或者因为不匹配而退出。
 
三、总结
  OK,剩余的多实践,不多说。

【读书笔记】读《高性能网站建设指南》及《高性能网站建设进阶指南:Web开发者性能优化最佳实践》的更多相关文章

  1. 经典的性能优化最佳实践 web性能权威指南 读书笔记

    web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典 ...

  2. Google的网站性能优化最佳实践

    网站性能最佳实践   当描述一个web页面的页面速度,评价的一致性遵循许多不同的规则.这些规则是任何阶段的web开发可以应用的前端最佳实践.这个文档的每个规则都陈述于此,无论你是否运行页面测速工具-- ...

  3. 大型网站技术架构(3):WEB 前端性能优化

    上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类 这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器 ...

  4. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  5. 网站的高性能架构---Web前端性能优化

    网站性能测试 不同视角下的网站性能 用户视角的网站性能:从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度.用户的感受时间包括用户计算机和网站服务器通信的时间.网站服务器处理请求时间.用户 ...

  6. web前端性能优化指南(转)

    web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络 ...

  7. web前端性能优化指南

    web前端性能优化指南 web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loadin ...

  8. Web前端性能优化教程05:网站样式和脚本

    本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:网站样式和脚本代码的放置位置.使用外部javascript和css.完整教程可查看:Web前端性能优化 一.将样式表放在顶部 可视性回馈的重要 ...

  9. 大型网站技术架构,4网站的高性能架构之Web前端性能优化

    一般说来Web前端指网站业务逻辑之前的部分,包括浏览器加载.网站视图模型.图片服务.CDN服务等,主要优化手段有优化浏览器访问.使用反向代理.CDN等. 4.2.1 浏览器访问优化 1.减少http请 ...

随机推荐

  1. 了解 Nginx 基本概念

    前言 本篇是我学习 Nginx 的一些笔记,主要内容讲述了一些了解 Nginx 需要的基本概念.然后探讨一下 Nginx 的模块化的组织架构,以及各个模块的分类.工作方式.职责和提供的相关指令. 主要 ...

  2. Android讯飞语音云语音听写学习

    讯飞语音云语音听写学习         这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google" ...

  3. UVa OJ 140 - Bandwidth (带宽)

    Time limit: 3.000 seconds限时3.000秒 Problem问题 Given a graph (V,E) where V is a set of nodes and E is a ...

  4. Practical Machine Learning For The Uninitiated

    Practical Machine Learning For The Uninitiated Last fall when I took on ShippingEasy's machine learn ...

  5. 创建gbk编码

        NSStringEncoding gbkEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_1803 ...

  6. DedeCMS V5.7 Dialog目录下配置文件XSS漏洞

    漏洞地址及证明:/include/dialog/config.php?adminDirHand="/></script><script>alert(1);< ...

  7. Linux下如何搭建VPN服务器(转)

    VPN服务器的配置与应用 实验场景 通过将Linux配置VPN服务器允许远程计算机能够访问内网. 我的目的: 现在需要开发第三方接口,而第三方接口有服务器IP地址鉴权配置,这样在本地开发出来的程序每次 ...

  8. C语言回调函数

    Callbacks have a wide variety of uses. For example, imagine a function that reads a configuration fi ...

  9. Seventh scrum meeting - 2015/11/1

    新的一月开始了!今天是周末,所以大家的开发进度有点减慢,享受一个愉快的周末~ 今天大家的开发都没有遇到什么问题,因为这几天下来,大家对android的开发流程都比较熟悉了,暂时不会遇到新的问题了. 我 ...

  10. LA 3401 - Colored Cubes

    解题报告:有n(1<=n<=4)个立方体,每个立方体的每一个面涂有一种颜色,现在要将这些立方体的某些面的颜色重新涂一下,使得这n个立方体旋转到某一种状态下,对应的面的颜色都相同. 这题可以 ...