天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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

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

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

一.我們需達(dá)解決的麻煩

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

二.如何解決我們的麻煩

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

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

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

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

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

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

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

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

D.提高客戶端渲染速度

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

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

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

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

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

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

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

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

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

標(biāo)注

  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);
    }
    }

JavaScript技術(shù)如何快速的呈現(xiàn)我們的網(wǎng)頁的技巧整理,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产午夜高潮熟女精品AV | 国产SUV精品一区二区69 | 超碰caoporn | 男人的天堂色 | 欧美成人免费一区二区三区不卡 | 日日碰狠狠躁久久躁77777 | 乱奷XXXXXHD | 亚洲涩福利高清在线 | 国产三级精品三级男人的天堂 | www伊人网| 国产精品涩涩涩视频网站 | 一边啪啪的一边呻吟声口述 | 色久久综合视频本道88 | 99久久网站 | 国产精品成人影院在线观看 | 国产精品亚洲精品日韩电影 | 99久久爱re热6在线播放 | 亚洲国产日韩欧美在线a乱码 | 亚洲中文无码AV在线观看 | 国产欧美日韩亚洲第一页 | 亚洲AV久久无码精品九号 | 2021国产在线视频 | 久久久久久天天夜夜天天 | 变形金刚7免费观看完整 | 国产69精品久久久久麻豆 | 天美麻豆成人AV精品视频 | 在线欧美精品一区二区三区 | 三级黄色高清视频 | 99午夜视频 | 香蕉eeww99国产精选播放 | 丰满五十六十老熟女HD60 | 最近中文字幕完整版免费 | 无码人妻精品一区二区蜜桃在线看 | 8090碰成年女人免费碰碰尤物 | 韩国免费啪啪漫画无遮拦健身教练 | 成人午夜精品久久久久久久秋霞 | 涩涩999| 最近最新中文字幕MV高清在线 | 久久国产乱子伦精品免费不卡 | 在线国产三级 | 国产精品色无码AV在线观看 |