最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何快速的呈現(xiàn)我們的網(wǎng)頁的技巧整理

 更新時間:2007年07月01日 00:00:00   作者:  

前幾天小芳同學(xué)一直在群發(fā)起一些加速的話題,我已經(jīng)把聊天記錄抽出來,正打算整理出份像樣的,沒想到小芳同學(xué)非常速度的出了這篇。我的就省掉了,挖哈哈。

特別說一下了,這些方案并非適合所有的網(wǎng)站,很多部分有的網(wǎng)站還是不要做反而會更好。如果你還有更多的想法,可以到這里討論或者評論,我只是歸檔成為方便閱讀的,對了論壇和群討論的另一些結(jié)果如果有價值我也會補充進來。

如何快速的呈現(xiàn)我們的網(wǎng)頁 作者:flashsoft,(內(nèi)容被我略修刪過)。

一.我們需達解決的麻煩

  • 減少HTTP請求數(shù). 減少HTTP請求數(shù)有什么好處
    • 降低服務(wù)器跟客戶端的建立和消除HTTP請求和響應(yīng)Header的開銷
    • 減少服務(wù)器為HTTP連接的進程和線程的開銷,如果可能,還會包括GZIP壓縮的CPU開銷.
  • 減小被請求文件大小, 減少請求數(shù)據(jù)占用的網(wǎng)絡(luò)帶寬.
  • 讓用戶更快的看到想要的結(jié)果.
  • 提高客戶端渲染速度.
  • 讓瀏覽器同時能請求更多的數(shù)據(jù).
  • 提高服務(wù)器相應(yīng)速度.
  • 通過版本化控制客戶端Cache.

二.如何解決我們的麻煩

A.如何減少HTTP請求數(shù)

  1. 合并JS文件跟CSS文件。
  2. 合并框架圖片以及相對變動較少的圖片成一張,通過CSS背景切割來完成渲染,比如:加速圖片顯示
  3. 合理使用本地Cache來緩存JS/CSS/IMAGE。
  4. 合理使用UserData緩存JS文件,對于FF用戶可以單獨請求服務(wù)器,這樣能解決80%用戶的問題.代碼可以蓉兒(meizz)的js framework1。
  5. 把JS跟CSS合并成一個文件

B.減小被請求文件大小,減少請求數(shù)據(jù)占用的網(wǎng)絡(luò)帶寬

  1. 壓縮JS體積:刪除JS中空白換行,注釋,混淆把長變量換成短變量;
  2. 壓縮CSS體積:刪除CSS注釋、寫法盡量用簡寫;
  3. 使用(X)HTML+CSS方式搭建網(wǎng)站結(jié)構(gòu),提高CSS重用性,來減少(X)HTML文件大?。?
  4. 使用服務(wù)器端GZIP壓縮JS/ CSS文件,縮小傳輸文件大小。附注:Apache1跟Apache2的GZIP的效率跟方式不一樣的,根據(jù)需要自行選擇。

嗷嗷補充說明:壓縮、合并JS和CSS都由程序處理。而不是自己手動去縮刪,不然不利于后期維護。

C.讓用戶更快的看到想要的結(jié)果

用戶對于一個站點的白頁的忍受時間根據(jù)統(tǒng)計是8-12秒。白頁的產(chǎn)生可能由于各種原因引起,我們能做的就是怎么讓用戶能變的稍微能等待更久。

  • 方案1.多做一個引導(dǎo)頁,讓用戶體會其中的變化
    案例:mail.aol.com中的loading引導(dǎo)頁
  • 方案2.優(yōu)先載入頁面結(jié)構(gòu)以及結(jié)構(gòu)圖片,后一步載入當(dāng)前頁面數(shù)據(jù),再后一步載入Iframe,Flash等數(shù)據(jù).讓用戶盡早的看到被打開頁面的希望.

D.提高客戶端渲染速度

這個問題就比較泛泛了,影響客戶端的渲染速度有多方面的,主要目的都是提高程序方面的效率.

  1. 對于大索引的結(jié)構(gòu),盡可能的少用索引訪問,能用訪問兄弟節(jié)點的方式盡可能用訪問兄弟節(jié)點的方式.
  2. 字符串拼接盡可能用數(shù)組方式
  3. 大規(guī)模添加節(jié)點數(shù)據(jù),請不要使用appendChild方式,盡量使用類似innerHTML的insertAdjacentHTML方式,FF下需修正2

E.讓瀏覽器同時能請求更多的數(shù)據(jù).

瀏覽器默認只是支持單域名同時有兩個HTTP請求,使用多域名將能把請求數(shù)提高,在網(wǎng)絡(luò)條件優(yōu)良的情況下,能更快的下載數(shù)據(jù),呈現(xiàn)結(jié)果.

F.提高服務(wù)器相應(yīng)速度

對于需快速響應(yīng)的文件,把其放入快速響應(yīng)的服務(wù)器,應(yīng)該是不錯的方案,優(yōu)化方案請系統(tǒng)儲備組提供.

G.通過版本化控制客戶端Cache.

通常js/css這類文件改動比較頻繁,但是為了加載速度變快,我們有可能需要設(shè)定這類文件的過期時間為幾天后,這樣我們碰到的問題就是,如何及時更新這些在cache的文件?
通過一個簡單的配置,通過修改JS的版本來及時告訴瀏覽器,這些文件必須重新請求了,不要繼續(xù)使用瀏覽器cache中的數(shù)據(jù). 方案有好幾個:

  1. 手動改這些js的文件名
  2. 手動改這些js的路徑
  3. 通過URL Rewrite方式來改重定位js路徑
  4. 通過一個在高響應(yīng)服務(wù)器上的一個js配置告知頁面,這個頁面該鏈接哪些JS文件
  5. 大版本不變,小版本不斷追加,等一定時間后,統(tǒng)一更新,高效利用cache

標注

  1. meizz的js framework還沒出正式版,有興趣在CSDN的頁面翻一下
  2. Firefox修正方式
    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);
    }
    }

相關(guān)文章

  • 圖片上傳之FileAPI與NodeJs

    圖片上傳之FileAPI與NodeJs

    本文主要介紹了使得我們處理圖片上傳更加簡單的方法FileAPI。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • js實現(xiàn)點擊切換和自動播放的輪播圖

    js實現(xiàn)點擊切換和自動播放的輪播圖

    這篇文章主要為大家詳細介紹了js實現(xiàn)點擊切換和自動播放的輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • javascript:window.open彈出窗口的位置問題

    javascript:window.open彈出窗口的位置問題

    這篇文章主要介紹了javascript:window.open彈出窗口的位置問題,需要的朋友可以參考下
    2014-03-03
  • TypeScript模塊與命名空間的關(guān)系和使用方法

    TypeScript模塊與命名空間的關(guān)系和使用方法

    在TypeScript中就像在EC5中一樣,任何包含頂級import或export的文件都被認為是一個模塊,下面這篇文章主要給大家介紹了關(guān)于如何在TypeScript使用模塊與命名空間以及注意事項的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Javascript中Eval函數(shù)的使用

    Javascript中Eval函數(shù)的使用

    eval()函數(shù),這個函數(shù)可以把一個字符串當(dāng)作一個JavaScript表達式一樣去執(zhí)行它。
    2010-03-03
  • js CSS操作方法集合

    js CSS操作方法集合

    用js實現(xiàn)的對css的一些操作方法,集合,方便需要用js控制css的朋友
    2008-10-10
  • JavaScript實現(xiàn)Java中Map容器的方法

    JavaScript實現(xiàn)Java中Map容器的方法

    這篇文章主要介紹了JavaScript實現(xiàn)Java中Map容器的方法,結(jié)合實例形式分析了JavaScript實現(xiàn)Java中Map容器的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-10-10
  • 微信小程序?qū)崿F(xiàn)商品屬性聯(lián)動選擇

    微信小程序?qū)崿F(xiàn)商品屬性聯(lián)動選擇

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)商品屬性聯(lián)動選擇,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Typescript中使用引用路徑別名報錯的解決方法

    Typescript中使用引用路徑別名報錯的解決方法

    本文主要介紹了Typescript中使用引用路徑別名報錯的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • javascript中scrollTop詳解

    javascript中scrollTop詳解

    本文主要給大家介紹了javascript中的scrollTop方法,以及scrollTop在各大瀏覽器的兼容性情況的詳細測試,十分的細致全面,這里推薦給大家,有需要的小伙伴可以參考下。
    2015-04-04

最新評論

兖州市| 大姚县| 德庆县| 大名县| 东城区| 宜宾市| 南阳市| 神池县| 马边| 科技| 孟州市| 新宾| 广汉市| 岑溪市| 海城市| 合阳县| 崇仁县| 新乐市| 萍乡市| 张掖市| 遵义县| 通州区| 怀远县| 北海市| 旬邑县| 东丰县| 秭归县| 孝昌县| 潜江市| 威海市| 武城县| 莱西市| 江城| 莱西市| 汝阳县| 新安县| 株洲市| 广丰县| 灌云县| 安新县| 英吉沙县|