zoukankan      html  css  js  c++  java
  • Asp.net mvc 速度优化 关注Yslow(1)

    说实话,这篇文章和asp.net mvc网站关系并不大,因为这几乎是所有网站的一个通用标准了。而且很惭愧的是,我们的网站 的Yslow评分按照Classic V1的标准也只有D,而且很多方法也是百度, google来的,所以谈不上原创,更多的是方法汇总。但愿能抛砖引玉,让高手也多说说。

    前两篇文章 asp.net mvc速度优化 -- 页面缓存 asp.net mvc速度优化 -- memcache主要解决的是后台代码的事情,这篇文章更多从网站配置和前端方面说说。


    为什么要关注YSlow?

    yslow是YAHOO网页加速的14条优化法则。更多相信可以参考百度文库的介绍Firefox针对这14条法则有一个插件叫Yslow,前提是需要安装Firebug.Firebug和Yslow的安装都是从Firefox的工具->附加组件中安装,具体细节就不再赘述了。具体是哪14条法则呢,看截图:


    1.减少HTTP的访问次数,这个是最难的,因为要涉及很多细节,本文会描述。

    2.使用CDN, 内容分发网络。这个没做过,小站点和个人网站貌似也做不起,但淘宝对这个很有

    研究,可以关注他们的博客

    3.增加Expires headers, 设置页面元素(图片,js,css...)的过期时间,设置了之后,客户端会缓存

    4. 使用gzip压缩页面元素,这个蛮给力的,一会儿大家看截图就知道了。

    5. 把CSS放在顶部,目的是让页面可以顺序加载,不会很乱,另外也避免页面重画,这个不说

    了。

    6. 把Javascript放在底部,JS是串行加载的(阻塞式),这个也不说了。

    当然jquery.js等东东还是放在<head>..</head>之间吧。

    7. 避免使用CSS expressions, 这个还是不说了。

    8. 把CSS和Javascript放到外部文件中,因为外部文件可以缓存,另外也便于代码维护。

    9. 减少DNS的查询次数,这个没做过,天生就是A,可能以后会遇到问题。

    10. 最小化 Javascript和CSS代码。

    11. 避免URL重定向,原则是就是说不要在页面上存在 http://www.incity.me 和 http://www.incity.me/。

    12. 删除重复的Javascript和CSS的脚本,这个是废话,但实际上可能由于粗心会存在这个问题。

    13. 配置ETags,这里会介绍IIS如何配置ETags.

    14. 其实还有个是缓存AJAX.


    减少Http访问次数

    总的来说,就是减少javascript,css,image的数量,尽量整合,只是需要在代码维护和性能之间做好平衡。

    1.合并Javascript文件。对于小型或者中型站点,以使用jquery为例,我觉得就应该只要三个js文件:jquery.js, jquery.extension.js, yourproject.js. 其中jquery.js代表你的js版本, jquery.extension.js是把其他所有使用jquery扩展的放到一个文件,jquery.ui.js + jquery.calander.js + jquery.xxx.js => jquery.extension.js, 而project.js则只包含你项目的js.

    <head>

    <script src="jquery.js"  />

    <script src="jquery.extension.js" />

    <script src="yourproject.js" />

    </head>


    2.合并CSS文件,最好不要超过两个,一般中小型站点就一个site.css即可。

    3.使用CSS Sprite将多张小图片(特指样式图片)整合到一张大图片里面,这里介绍一个自动生成CSS Sprite的网站, 这点很重要,因为图片往往是耗时最多的。


    增加Expires headers

    IIS 管理器->HTTP 响应标头->设置常用标头,但这个指标的评分貌似不是很稳定,还在研究中。。。


    使用Gzip进行压缩

    首先观察下使用Gzip前后的对比:







    如何配置?

    IIS 管理器 -> 压缩 (需要注意的是,不要对图片进行Gzip压缩,因为Gzip压缩算法本身也要耗费服务器的时间)




    配置ETag

    其实这里是Disable Etag,

    1.下载一个Remtag.dll.

    2.IIS管理器 -> ISAPI筛选器,配置好后,重启IIS就看到效果了。



  • 相关阅读:
    vue语法
    第3章 语言基础(上)
    第2章 HTML中的JavaScript
    第1章 什么是JavaScript
    附录 A ES6附加特性
    第14章 跨浏览器开发技巧
    第13章 历久弥新的事件
    第12章 DOM操作
    第11章 代码模块化
    第10章 正则表达式
  • 原文地址:https://www.cnblogs.com/enjoyeclipse/p/2084510.html
Copyright © 2011-2022 走看看