技术上由两种情况决定页面加载速度及显示效果,一个是Html相关导致的一个是后台Asp.net后台逻辑影响的页面显示速度,下面列的是Html代码对页面加载效率的影响,对于后台逻辑对页面加载的影响主要要遵循我们的代码规范来保证效率问题。
a. 支持IE6、IE7、Firefox
b. 近可能采用XHtml标准,另外界面尽量采用Div+CSS方式来进行布局。
c. 控制页面大小-页面过大导致增加页面的加载时间影响页面在最终用户处的显示效果
根据W3C的标准来优化HTML代码结构,去除一些垃圾无意义的代码
d. 降低页面连接数是非常有必要并且非常有效的办法。能统一到一个文件里面的尽量统一到一个文件里面,比如js和css等,尽量把图片放到一个大图里面。
e. Gzip压缩
那HTTP/1.1来说,浏览器可以在HTTP 请求中指定压缩的方式,比如【Accept-Encoding:gzip,deflate】,那么服务器就就知道浏览器可以通过【Content-Encoding:gzip】压缩。
Gzip可以减少回应的数据到70%,而且今天通过浏览器的网络传输,有90%支持Gzip,你可以用Gzip来搞HTML文档,样式表,XML,JSON等等。然而图片和PDF不可以用GZip,他们已经被压缩了
f. 把样式表放在最上面
g. 把Script放的尽可能下一点,可以考虑压缩一下。
h. 避免使用CSS Expressions
比如【background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );】
这样的语句被调用的次数远远超过用户的想象,它不仅仅在页面加载和Resize的时候被调用,而且当滚动条滚动,甚至鼠标在页面上移动的时候,都会被调用,这样会产生上万次调用造成性能下降
i. 把JavaScript和CSS从HTML里面分离出来
在HTML里面写的JavaScript和CSS在每次请求页面的时候都会被下载,而分离的JavaScript将被浏览器Cache住,这样的好处就是不会重复下载而减少HTTP请求的次数
j. 压缩JavaScript
可以使用工具JSMin和YUI Compressor来进行JS压缩
k. 避免使用Redirects
Redirect通常使用301和302状态码,下面是一个301回应的例子
HTTP/1.1 301 Moved Permanently
所以,当你的ETags不匹配的时候,你的客户将得不到304的状态码而是必须从新返回200字节左右的回应,然后问题还不仅仅与此,如果你的服务不是建立在一台服务器而是多台,那么,你的用户将得到相当慢的反应,你的服务症消耗恨道的贷款,Proxies也不能有效的Cache你的上下文。不管你的元素是不是有个Expires Header,不管你的用户是Reload还是Refresh,Get请求还是被发了出去