作者:php程序小哥 | 来源:互联网 | 2023-02-11 12:43
遵循雅虎的军规,可以让网站的加载速度更快,所以我们在实际开发中是十分有必要牢记下列的雅虎军规!下面一起来看看都有哪些吧!尽可能的减少HTTP请求数。如何减少呢,把Js和CSS文件尽
遵循雅虎的军规,可以让网站的加载速度更快,所以我们在实际开发中是十分有必要牢记下列的雅虎军规!下面一起来看看都有哪些吧!
- 尽可能的减少HTTP请求数。如何减少呢,把Js和CSS文件尽可能合并成一个文件,还有CSS sprites将小图标合并。
- 利用CDN系统。内容分布网络 ,解决用户拥挤的状况。
- 添加Expire/Cache-Control头。expire头的内容是一个时间值,代表的是资源在本地的过期时间。也就是说,如果Expire头的时间没有过期,每次的访问就不会发送http请求,直接使用本地资源。然后Cache-Control头,是负责控制页面的缓存机制,比expire有更多的功能。
- Gzip压缩技术。雅虎规定所有的web文件都应该被Gzip压缩,现在的浏览器都是支持Gzip格式的解压的。
- 将CSS文件放在HTML顶部head标签中。为了提供页面渲染性能,应该先加载CSS文件,再进行HTML渲染,提升用户体验。
- 将Script文件放在HTML底部。这个是很常见的啦,防止加载过大的Script文件导致页面空白,不渲染。
- 避免在CSS中使用Expressions。CSS Expressions是CSS表达式,用于和Javascript相连接。每一个操作都会严重影响浏览器的性能,所以一定要避免使用它。
- 把Js和CSS放到外部文件中。这个是颇有争议的,分为两个派别,一个是放到外部文件,一个是写在页面内。我们一起分析一下两种方法的各自的优点,并灵活应用。外部文件党的优点在于,提高了Js和CSS的复用性,减少了页面自身的体积,可以单独缓存,也提高了Js和CSS的可维护性。而另一个写在页面内的党的优点在于,减少页面的http的请求数,提升页面渲染速度。对于这两种方向,该怎么选择,应当结合实际情况。例如,当某个脚本只应用于一个页面或者脚本和样式文件很少的时候,就可以写在页面内。还有一些网站如淘宝天猫之类的流量非常巨大,非常需要减少http请求数的,都是可以看到他们并非全部提取到一个单独文件的。
- 减少DNS查询。DNS查询,也就是将域名转化成IP地址的查询过程。现代浏览器都会将DNS查询进行缓存。这里就涉及到采用单域或多域的资源配置。
- 压缩Javascript和CSS。这个对前端工程师来说已经是一个必备技能了,让Js和CSS的文件更轻量化。可以使用Grunt,但更推荐百度的FIS前端自动化工具。自动化的流程,可以更有效的节省时间,让我们更关注代码本身,而不是其它一些繁杂的事情。有兴趣的可以去了解一下。
- 避免重定向。也就是原始请求被重新转向了其它请求。重定向会增加服务器和客户端的往返请求次数,增加了http的请求次数。
- 移除重复的脚本。重复调用的脚本文件,浏览器并不会智能的忽略,而是再一次计算,这是一个非常不必要的资源浪费。
- 配置实体标签(ETag)。它属于HTTP协议,使用特殊的字符串,来标识某个请求资源的版本。通过ETag来标识本地是否有过一样的缓存文件,这个实体标签可以有效减少服务器的负担。
- 使用Ajax缓存。通过Ajax可以在不刷新页面的前提下,实现客户端和服务器的数据交换,实现局部刷新的效果。
当然我们如何可以智能的做到这些规定呢,这里就不得不介绍一个Firebug的插件Yslow了!这个Yslow可以自动检测制定的规则,并予以一定的等级评定并给出修改的建议。非常的高大上,有木有!
当然这里就抛砖引玉了,有兴趣的朋友也可以自己去搜索一下Yslow,让你的网站性能有一个更大的提升。
雅虎军规