yahoo给出的关于网站优化的建议
1.使用CDN
内容分发服务器会根据用户的位置选择最近的服务器响应用户的请求,静态资源放在CDN的性能将提升20%左右。
2.设置Expires和Cache-Contral头
将静态资源的过期时间设置一个遥远的日期,那么这将是304请求
将动态资源设置一个Cache-Contral来帮助浏览器有条件的请求
这个时候我们的静态资源就要带上版本号了,以便于更新的时候可以获取到最新的代码
3.配置ETags
a) 客户端请求一个页面Page A
b)服务器返回Page A 连同ETags一起
c)客户端接收到Page A 并且缓存Etags
d)客户端再次请求Page A ,带上了缓存中的ETags一起发往服务器
e)服务器收到请求,发现Etags并未改变。直接返回响应304(未修改——Not Modified)和一个空的响应体。
4.使用get来响应Ajax请求
因为post请求是分成2次的。第一次会先发送请求头,第二次才发送数据。而get只需要发送一个数据包,但是限制在20K内。
5.尽量减少HTTP请求
合并CSS JS Image,使用CSS的background-position去定位图片。
如果一个CSS或者JS是通用模块,我认为也可以不需要合并,因为多次访问同一个资源是304
但是对于第一次访问web的用户,合并是最好的
6.减少NDS解析
因为DNS解析需要20-120ms,而在这期间浏览器是等待状态的。
但是考虑到并行下载需要多个域名,建议控制在4个以内。
7.避免重定向
重定向会导致用户访问的时间增加
一个经常发生的场景就是'/',例如我们访问http://astrology.yahoo.com/astrology被301到
http://astrology.yahoo.com/astrology 。所以我们要是第一次就带上'/',那么就避免了这次重定向。
8.减少DOM元素的数量
过于复杂的DOM结构以为访问者下载更多的数据,javascript访问DOM的速度本身是很慢的,然而随着DOM数量的增加这会更加糟糕。
9.避免404错误
HTTP请求的代价是非常昂贵的,404会终止我们的并行下载,如果是js发生了404,浏览器还会试图从404的结果中找到js的内容。
10.把CSS放在页面顶部
雅虎的研究表明把CSS放在head里面可以加快页面的渲染,因为允许了浏览器获取到DMO就逐步渲染。浏览器为了避免重绘页面,
需要等待把CSS加载完后才知道如果渲染。如果你把他们放在底部了,那么将会因为没有施工图纸而无法开工。
11.避免使用CSS表达式
12.避免使用@import来引入CSS
13.把JS放在页面的底部
HTTP/1.1规范建议同一域名下并行下载的资源数量不应该超过2个,如果图片存于不同的域名下面,那么不受此限制。js在下载的时候
会中断其他资源的下载即使是其他域名下面的。所以让js最后加载会使得页面加载等更流畅。
14.使用外链的JavaScript和CSS
因为外链的JavaScript和CSS可以更好的被浏览器缓存,特别是多页面的共同引用某个JS或者CSS时。虽然这增加了HTTP请求的数量,
但是对于后面的访问来说则不然了。
15.压缩JavaScript和CSS
压缩JS和CSS可以提高下载的速度,使文件变得更加苗条了。
16.减少DOM操作
因为JS访问DOM天生就慢,所以应该采取相应的措施:
a)缓存已经访问过的节点
b)'离线'操作DOM,完成以后再一次性添加到对应的DOM
c)避免使用JS来布局页面
17.使用智能事件
如果你有10个按钮在div.btns里面,你把事件绑定到button上面,将会有10个监听器。而如果使用代理给div.btns那么只需要一个监听器。
18.优化图片
目前我在使用Grunt的插件来优化我们的图片,优化以后的图片尺寸明显小了很多。
19.不要在HTML中缩放图像
比如你的图片是100px * 100px 的,那么img标签里面的尺寸应该是 100px * 100px.如果需要自适应的话是否应该考虑CSS3呢?
20.移动端
a)不要使用大于25KB的组件(这里是指未压缩的尺寸),iphone不会缓存大于这个数字的组件。
yahoo给出的关于网站优化的建议的更多相关文章
- Java Web 高性能开发,第 3 部分: 网站优化实战
这个系列的前两篇,介绍了前端的优化技术,这些技术秉承了前人至高无上的智慧,我只是负责吸收和传播.然而,这些技术一般也都是某某大型网站的技术经验,我们大部分人或许只能接触到相对小规模的网站,小规模的网站 ...
- web网站优化
没事儿研究一下YAHOO工程师对网站优化给出的策略,对重点部分在这儿做下笔记 -----------------------------------------------我是分割线--------- ...
- ASP.NET网站优化(转自一位博友的文章,写的非常好)
不修改代码就能优化ASP.NET网站性能的一些方法 阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一 ...
- 【IIS】 网站优化
[IIS] 网站优化 一. 从硬件入手,升级服务器的cpu,内存,硬盘 这是成本最低的方法,所以如果要优化,请先考虑下现有服务器的硬件能力是不是满足要求. 二. 从数据库入手 索引: 检查该建的索引建 ...
- 减少HTTP请求之将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片(大型网站优化技术)
在网站开发过程中,对于页面的加载效率一般都想尽办法求快.那么,怎么让才能更快呢?减少页面请求 是一个优化页面加载速度很好的方法.上一篇博文我们讲解了 “利用将小图标合成一张背景图来减少HTTP请求”, ...
- 怎么通过网站优化来增强SEO效果?
真正好的网站优化不应该针对哪一个搜索引擎,而应该关注用户的需求.搜索引擎把这这用户指标权重提升,实际上也是希望把更多的精力集中在用户体验的提升上面.那么,这些用户指标应该怎样提升呢?方法多种多样,下面 ...
- 网站优化不等于搜索引擎优化SEO
对于SEO相信搞网络营销的人基本上都知道这个名词,英文全称为search engine optimization,中文一般叫搜索引擎优化,也有的叫搜索引擎定位(Search Engine Positi ...
- 网站优化(SEO)的10大误区
前段时间大前端也有关于SEO的文章贡献给广大读者,今日,再发一文,网站优化(SEO)的10大误区.很多新手站长初次接触SEO,感受到SEO 的无穷魅力,想要做一位优秀的SEOer,然而新手朋友在进行S ...
- Asp.net网站优化【转】
阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不 ...
随机推荐
- 业务接口+UI层的设计(基于Castle实现的Repository)
业务接口+UI层的设计(基于Castle实现的Repository) Repository层设计的文章见:[http://www.cnblogs.com/yomho/p/3297042.html] ...
- xml数据解析
xml数据解析 在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML.TouchXML.Kiss ...
- resin-pro-4.0.34 服務器在windows环境下的配置
resin-pro-4.0.34 服務器在windows环境下的配置(轉載请注明作者:icelong) 到caucho網站上http://www.caucho.com/download/下載resin ...
- ios搭建开发环境
ios搭建开发环境 好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC O ...
- LigerUI权限系统之角色管理
角色管理比前面几个页面都稍显复杂点.好吧,还是先看图. 左边是角色列表,右边是页面列表,它们也是多对多的关系,即一个角色可以访问多个页面,同时一个页面也可以被多个角色访问. 点击左边的角色,刷新右边页 ...
- Centos6.3不能使用yum install安装gcc编辑器解决办法
mv /var/lib/rpm/__db* /tmp rpm --rebuilddb yum clean all
- 实战 ASP.NET MVC Web API
实战 ASP.NET MVC Web API Web API 框架基于 ASP.NET MVC 框架开发,是一个面向 Http 协议的通信框架.相对于 WCF 而言,Web API 只面向于 Http ...
- 32位Win7下安装与配置PHP环境(二)
本安装实例中用到的三个软件,都可以直接从官网下载,为了方便,也可以直接从本人的CSDN资源中打包下载. 三个安装文件如图示: CSDN高速下载地址: http://download.csdn.net/ ...
- struts升级到最高版本后遇到的问题。关于actionmessage传递问题。
Struts2升级到最新版本遇到的一些问题 首先是更换对应的jar,如asm.common.ongl.struts等等.更换后发现系统启动不了,按照网上的介绍,先后又更新了slf4j-log4j12- ...
- oracle 12c 学习系列(1)–12c初体验
详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验