网页优化 《高性能网站建设指南》笔记

标签: 前端


很薄的一本书,介绍了14个用于前端网页优化的规则。

规则一: 减少HTTP请求

问题:网站的加载时间大部分是花费在HTTP请求上,HTTP请求过多会减慢网页的加载速度,严重影响用户的体验。因而该规则是所有规则中最重要的规则。

解决:使用CSS Sprites;对于小的图片使用内联data:[<mediatype>;][base64],<data>

规则二: 使用CDN

问题:下载速度与离服务器的物理距离有关。

解决:使用CDN

规则三: 缓存

问题: 没有缓存的话,多次浏览网页就要多次下载完整的文档,效率低下。

解决:expire头;max-age头

规则四: 压缩组件

问题: 文件的大小也影响下载速度。

解决: 请求头加上Accept-Encoding: gzip, deflate

规则五: CSS放头部

问题:虽然CSS放在尾部,实际上的加载速度回更快,但由与放在尾部会导致白屏的现象,即不能逐步呈现,会使用户心理上觉得速度更慢。

解决:将css用<link>放在<head>...</head>

规则六: 将JS放在底部

问题: JS放在前面会阻塞浏览器的并行下载。

解决: 可以在script标签上加defer延迟执行<script src='demo.js' defer></script>; 更简单的办法是将js放在底部。

规则七: 避免CSS表达式

问题: 你永远不会知道你的CSS表达式到底执行了多次万次。

解决: 不使用CSS表达式(express(..));或者使用一次性的表达式(服务器计算后发回静态的CSS)

规则八: 考虑使用外联的JS和CSS

问题: 内联实际上加载速度更快,但对于多次浏览要多次下载。外联第一次加载比较慢,但有缓存,以后的浏览会更快。

解决:根据组件的重用度来决定是否使用内联或外联;使用延后加载或者动态内联(服务器决定发送内联网页还是外联网页)

规则九: 减少DNS查找

问题: DNS请求也是要耗时间的。

解决: 缓存DNS名单;增大DNS的TTL值

规则十: 精简JS、CSS

问题: JS的大小也影响加载速度。

解决:精简文件,小心使用混淆。

规则十一: 慎用重定向

问题:重定向可以美化URL、跟踪用户流量,但会影响加载速度,毕竟多了一个请求。

解决:考虑其他替代方法。

规则十二:删除重复的JS

问题: 重复的脚步会:1.影响加载速度,2.脚本重复执行。

解决: 加版本号;后端使用一个自定义的检查函数来添加脚步。

规则十三: 避免ETAG

问题: ETAG有BUG,对于多服务器的网站来说,相同的文件具有不同的ETAG导致缓存无效。

解决: 不用ETAG。

规则十四: 使AJAX可缓存

问题: AJAX也是要等的,因此缓存起来是最好的。

解决: 这部分没看懂。。。

一些个人心得

除了规则一之外,其他的规则都不是那么绝对的,有一定的使用环境,注意到这一点就好了。
然后请尽情优化你的网站,让用户体会到丝滑般的流畅感。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,999评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,102评论 1 302
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,709评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,439评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,846评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,881评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,062评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,783评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,517评论 1 248
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,762评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,241评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,236评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,145评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,941评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,965评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,802评论 2 275

推荐阅读更多精彩内容