20150803 YAHOO军规:如何提高网站速度

来源:互联网 发布:淘宝首页轮播图片尺寸 编辑:程序博客网 时间:2024/06/03 17:54
1、尽可能减少HTTP请求数
HTTP请求是什么?每一个内容的获取,就是一个http请求
如何优化请求?文字,图片合并,js合并,css合并
2、使用CDN(内容分发网络)
CDN是什么?在离你最近的地方,放置一台性能好链接顺畅的副本服务器,让你能够以最近的距离,最快的速度获取内容。
3、添加Expire/Cache-Control头
Expire 检查本地资源过期时间
Cache-Control缓存控制
4、启用Gzip压缩
使用Gzip压缩,将资源在服务端先进行压缩处理减小体积,然后在浏览器上再解压缩解释执行!
5、将css放在页面最上面
下边(禁止网页内容的顺序显示)
避免空白和闪烁
6、将script放在页面最下面
优势:先呈现内容
7、避免在CSS中使用Expressions
CSS属性=JavaScript表达式eg:
ul a{expression(this.offsetWidth>750?scare():scare());}
8、把JavaScript和CSS都放到外部文件中
单独提取的优点:提高js和css的复用性、减小页面体积、提高js和css的可维护性
写在页面内:减少页面请求、提升页面渲染速度
写在页面内的特殊情况:只应用于一个页面、不经常被访问到的页面、脚本和样式很少eg:少于20行
9、减少DNS查询
域名->IP地址
缓存,加快查找过程
DNS缓存时间
IE30分钟 Firefox60秒 Chrome60秒
缓存时间长:减少DNS的重复查找,节省时间
缓存时间短:及时检测网站服务器的变化,保证正确性
单域:一个服务器
多域:多个服务器
10、压缩 JavaScript 和 CSS
使两者最小化,方法:
1、去除不必要的空白符、格式符、注释符(代码格式化)
2、简写方法名、参数名
上线前压缩,使其为轻量级的
11、避免重定向
原始请求被重新转向到了其他请求
301状态码Moved Permanently被移到了另外的位置、永久重定向
302状态码Found被找到了,但不在原始位置、临时重定向
对搜索引擎来说,301、302不同;301智能,302找旧地址再跳新地址
为什么避免重定向?
避免增加请求数
12、移除重复的脚本
13、配置实体标签ETag
ETag EntityTag属于HTTP协议,受web服务支持
使用特殊的字符串来表示某个请求资源版本
14、使 AJAX 缓存
Asynchronous JavaScript and XML
异步的JavaScript和XML
分批加载,局部更新
POST请求 每次都执行,不被缓存 状态码200
GET请求 同一地址不重复执行,可以被缓存 状态码34


网站性能优化工具
YSlow插件,基于浏览器,最流行的是基于Firefox的。
对网站进行分析,给一些建议、一些规则,一步一步优化自己的网站


Yslow暂时不支持最新版的firefox,可以使用它的书签版本。
访问这里 http://yslow.org/mobile/
把页面最后的那个 Desktop Bookmarklet Installation Instructions 里的 Yslow 按钮拖拽到火狐的书签工具栏即可。
使用的时候在需要的页面点击 yslow的书签即可。


V2  22个测试规则
V1  13个测试规则
Small Site or Blog  14个测试规则


Grade等级视图 网页评分 A->F
Components组件视图 检视各个元素占用空间大小
Statistics统计信息视图与Components相似
0 0
原创粉丝点击