源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

如何快速的呈现我们的网页的技巧整理

  • 时间:2022-10-14 06:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何快速的呈现我们的网页的技巧整理
前几天[url=http://www.fs.org.cn/]小芳[/url]同学一直在群发起一些加速的话题,我已经把聊天记录抽出来,正打算整理出份像样的,没想到小芳同学非常速度的出了这篇。我的就省掉了,挖哈哈。 特别说一下了,这些方案并非适合所有的网站,很多部分有的网站还是不要做反而会更好。如果你还有更多的想法,可以到这里[url=http://bbs.51js.com/thread-69346-1-1.html]讨论[/url]或者评论,我只是归档成为方便阅读的,对了论坛和群讨论的另一些结果如果有价值我也会补充进来。 如何快速的呈现我们的网页 作者:flashsoft,(内容被我略修删过)。 [h2]一.我们需达解决的麻烦[/h2] [list] [*]减少HTTP请求数. 减少HTTP请求数有什么好处 [list]
  • 降低服务器跟客户端的建立和消除HTTP请求和响应Header的开销 [/*][*]减少服务器为HTTP连接的进程和线程的开销,如果可能,还会包括GZIP压缩的CPU开销. [/*][/list]
  • [*]减小被请求文件大小, 减少请求数据占用的网络带宽. [/*][*]让用户更快的看到想要的结果. [/*][*]提高客户端渲染速度. [/*][*]让浏览器同时能请求更多的数据. [/*][*]提高服务器相应速度. [/*][*]通过版本化控制客户端Cache. [/*][/list][url=http://blog.rexsong.com/?p=746]加速图片显示[/url]。 [*]合理使用本地Cache来缓存JS/CSS/IMAGE。 [/*][*]合理使用UserData缓存JS文件,对于FF用户可以单独请求服务器,这样能解决80%用户的问题.代码可以[url=http://blog.csdn.net/meizz]蓉儿[/url](meizz)的js framework[url=http://www.loaoao.com/blog/entry/34/#f1]1[/url]。 [/*][*][url=http://www.loaoao.com/blog/entry/33/]把JS跟CSS合并成一个文件[/url] [/*][/list] [h3]B.减小被请求文件大小,减少请求数据占用的网络带宽[/h3] [list=1] [*]压缩JS体积:删除JS中空白换行,注释,混淆把长变量换成短变量; [/*][*]压缩CSS体积:删除CSS注释、写法尽量用简写; [/*][*]使用(X)HTML+CSS方式搭建网站结构,提高CSS重用性,来减少(X)HTML文件大小; [/*][*]使用服务器端GZIP压缩JS/ CSS文件,缩小传输文件大小。附注:Apache1跟Apache2的GZIP的效率跟方式不一样的,根据需要自行选择。 [/*][/list] 嗷嗷补充说明:压缩、合并JS和CSS都由程序处理。而不是自己手动去缩删,不然不利于后期维护。 [h3]C.让用户更快的看到想要的结果[/h3] 用户对于一个站点的白页的忍受时间根据统计是8-12秒。白页的产生可能由于各种原因引起,我们能做的就是怎么让用户能变的稍微能等待更久。 [list] [*]方案1.多做一个引导页,让用户体会其中的变化 案例:mail.aol.com中的loading引导页 [/*][*]方案2.优先载入页面结构以及结构图片,后一步载入当前页面数据,再后一步载入Iframe,Flash等数据.让用户尽早的看到被打开页面的希望. [/*][/list] [h3]D.提高客户端渲染速度[/h3] 这个问题就比较泛泛了,影响客户端的渲染速度有多方面的,主要目的都是提高程序方面的效率. [list=1] [*]对于大索引的结构,尽可能的少用索引访问,能用访问兄弟节点的方式尽可能用访问兄弟节点的方式. [/*][*]字符串拼接尽可能用数组方式 [/*][*]大规模添加节点数据,请不要使用appendChild方式,尽量使用类似innerHTML的insertAdjacentHTML方式,FF下需修正[url=http://www.loaoao.com/blog/entry/34/#f2]2[/url] [/*][/list] [h3]E.让浏览器同时能请求更多的数据.[/h3] 浏览器默认只是支持单域名同时有两个HTTP请求,使用多域名将能把请求数提高,在网络条件优良的情况下,能更快的下载数据,呈现结果. [h3]F.提高服务器相应速度[/h3] 对于需快速响应的文件,把其放入快速响应的服务器,应该是不错的方案,优化方案请系统储备组提供. [h3]G.通过版本化控制客户端Cache.[/h3] 通常js/css这类文件改动比较频繁,但是为了加载速度变快,我们有可能需要设定这类文件的过期时间为几天后,这样我们碰到的问题就是,如何及时更新这些在cache的文件? 通过一个简单的配置,通过修改JS的版本来及时告诉浏览器,这些文件必须重新请求了,不要继续使用浏览器cache中的数据. 方案有好几个: [list=1] [*]手动改这些js的文件名 [/*][*]手动改这些js的路径 [/*][*]通过URL Rewrite方式来改重定位js路径 [/*][*]通过一个在高响应服务器上的一个js配置告知页面,这个页面该链接哪些JS文件 [/*][*]大版本不变,小版本不断追加,等一定时间后,统一更新,高效利用cache [/*][/list]
    [h3]标注[/h3] [list=1] [*]meizz的js framework还没出正式版,有兴趣在CSDN的页面翻一下 [/*][*]Firefox修正方式
    [code]function addHTML(oParentNode, sHTML) {
       if(window.addEventListener) {// for MOZ
         var oRange = oParentNode.ownerDocument.createRange();
         oRange.setStartBefore(oParentNode);
         var oFrag = oRange.createContextualFragment(sHTML);
         oParentNode.appendChild(oFrag);
       }
       else {// for IE5+
         oParentNode.insertAdjacentHTML("BeforeEnd", sHTML);
       }
    }[/code]
    [/*][/list]
    • 全部评论(0)
    联系客服
    客服电话:
    400-000-3129
    微信版

    扫一扫进微信版
    返回顶部