HTML:減少頁面加載時間的方法

1.重復(fù)的HTTP請求應(yīng)盡量減少

  • 減少調(diào)用其他頁面糠悼、文件的數(shù)量届榄。
  • 在使用css格式時,常會采用background載入圖形文件倔喂,而每個background的圖像都會產(chǎn)生1次HTTP請求铝条,為了讓頁面生動活潑大量使用background來加載背景圖靖苇,可以采用css的1個有用的background-position屬性來加載背景圖加以改善,將需要頻繁加載的多個圖片合成為1個單獨的圖片班缰,加載時采用:background:url(...)no-repeat x-offset y-offset 的形式加載贤壁,圖片加載的HTTP請求縮減為1個。
    background:url(...) no-repeat x-offset y-offset

2.壓縮Javascript埠忘、CSS代碼

  • 一般js脾拆、css文件中存在大量的空格、換行莹妒、注釋名船,這些利于閱讀,如果能夠壓縮掉动羽,將會很有利于網(wǎng)絡(luò)傳輸包帚。這方面的工具也有很多渔期,可以在百度里搜索一下 關(guān)鍵字“css代碼壓縮”运吓,或者“js代碼壓縮”將會發(fā)現(xiàn)有很多網(wǎng)站都提供這樣的功能,當(dāng)然了你也可以自己寫程序來做這個工作疯趟,如果你會的話拘哨。就拿我們這 個網(wǎng)站來說吧。剛開始上傳這個網(wǎng)站的時候信峻,我的很多Css代碼都沒有壓縮倦青,后面發(fā)現(xiàn)了這個問題,我就上網(wǎng)找了相關(guān)的網(wǎng)站的壓縮代碼的功能盹舞,最后就把很多 CSS文件都壓縮了产镐。這個壓縮比率還是比較高的,一般都有百分五十左右踢步。這個代碼壓縮對于網(wǎng)頁的加載還是很有用的癣亚。

3.在文件頭部放置css樣式的定義

  • 這項設(shè)置對于用戶端是慢速網(wǎng)絡(luò)或網(wǎng)頁內(nèi)容比較龐大的情況比較有利,可以在網(wǎng)頁逐步呈現(xiàn)的同時仍會保持格式信息获印,不影響網(wǎng)頁美感述雾。

4.在文件末尾放Javascript腳本

  • 網(wǎng)頁文件的載入是從上到下加載的,很多Javascript腳本執(zhí)行效率較低兼丰,或者在網(wǎng)頁前面都不需要執(zhí)行的玻孟,如果將這些腳本放置到頁面比較靠前的位置, 可能導(dǎo)致網(wǎng)站內(nèi)容載入速度下降或加載不了鳍征,將這些腳本放置在網(wǎng)頁文件末尾黍翎,一定要放 置在前面的腳本要改用所謂的“后載入”方式加載,在主體網(wǎng)頁加載完成后再加載艳丛,防止其影響到主體網(wǎng)頁的加載速度玩敏。

5.css斗忌、javascript改由外部調(diào)用

  • 如果css、js內(nèi)容比較龐大旺聚,盡量不要寫到同1個頁面中去织阳,改由外部載入比較妥當(dāng),因為瀏覽器本身會對css砰粹、js文件進(jìn)行緩存唧躲。

6.盡可能減少DOCM元素

  • 盡可能減少網(wǎng)頁中各種<>元素數(shù)量,例如<table>的冗余很嚴(yán)重碱璃,而我們完全可以用<div>取代之弄痹。

7.避免使用CSS腳本(CSS Expressions)

  • 有時為了要css的參數(shù)動態(tài)改變,可能會采用css expression來實現(xiàn)嵌器,但這樣做得不償失肛真,會使用戶端瀏覽器負(fù)擔(dān)明顯加重,所以不建議這樣做爽航,如果需要改變蚓让,可以使用Javascript腳本去實現(xiàn)。

8. 添加文件過期或緩存頭

  • 對于同一用戶頻繁訪問的圖片讥珍、Js腳本文件等可以在Apache或Nginx設(shè)置其緩沖時間历极,例如設(shè)置24小時過期時間,這樣用戶在訪問過該頁面之后再次訪問時衷佃,同一組圖片或JS不會再重復(fù)下載趟卸,從而減少了HTTP請求,用戶訪問速度明顯有所提升氏义,同時服務(wù)器負(fù)載也會下降锄列。下面給出nginx配置中緩存控制的例子:
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$   
    {   
    expires 30d;#設(shè)置30天過期  
    }  
    location ~ .*\.(js|css)?$   
    {  
    expires 1h;#設(shè)置1小時過期  
    } 

9.使用CDN(Content Delivery Network)網(wǎng)絡(luò)加速

  • 現(xiàn)在國內(nèi)做CDN加速業(yè)務(wù)的公司很多,簡單講惯悠,就是將你的圖片邻邮、視頻擴(kuò)散到CDN網(wǎng)絡(luò)所能到達(dá)之處,讓用戶訪問時能就近下載到這些文件吮螺,從而達(dá)到網(wǎng)絡(luò)提速的目的饶囚,這樣做,同時能減輕你自己網(wǎng)站的負(fù)載鸠补。

10.服務(wù)器啟用gzip壓縮功能

  • 將要傳輸?shù)奈募嚎s后傳輸?shù)娇蛻舳嗽俳鈮郝芊纾诰W(wǎng)絡(luò)傳輸數(shù)據(jù)量會大幅減小。在服務(wù)器上的Apache紫岩、Nginx可直接啟用规惰,也可用代碼直接設(shè)置傳輸文件頭,增加gzip的設(shè)置泉蝌,也可從 負(fù)載均衡設(shè)備直接設(shè)置歇万。不過需要留意的是揩晴,這個設(shè)置會略微增加服務(wù)器的負(fù)擔(dān)。服務(wù)器性能不是很好的網(wǎng)站贪磺,要慎重考慮硫兰。

11.Ajax采用緩存調(diào)用

  • Ajax調(diào)用都采用緩存調(diào)用方式,一般采用附加特征參數(shù)方式實現(xiàn)寒锚,注意其中的
    <script src="xxx.js?{VERHASH}"劫映,
    {VERHASH}就是特征參數(shù),這個參數(shù)不變化就使用緩存文件刹前,如果發(fā)生變化則重新下載新文件或更新信息泳赋。

12.Ajax調(diào)用盡量采用GET方法調(diào)用

  • 實際使用XMLHttpRequest時,如果使用POST方法實現(xiàn)喇喉,會發(fā)生2次HTTP請求祖今,而使用GET方法只會發(fā)生1次HTTP請求。如果改用GET方法拣技,HTTP請求減少50%千诬!

13.養(yǎng)成良好的開發(fā)維護(hù)習(xí)慣,盡量避免腳本重復(fù)調(diào)用

14.縮減iframe的使用过咬,如無必要大渤,盡量不要使用

  • iframe通常用于不同域名內(nèi)容的加載制妄,這同時也可能因iframe內(nèi)容加載速度影響到主網(wǎng)頁加載速度掸绞,如果可能,把需要加載的內(nèi)容抓取到本地直接嵌入耕捞。如果實在需要iframe加載衔掸,采用后載入方式實現(xiàn)。

15.合理使用Flush

  • 用戶端發(fā)送瀏覽請求后俺抽,服務(wù)器端一般要花銷200-500ms去處理這些請求敞映,在此期間,用戶端瀏覽器處于等待狀態(tài)磷斧,如果要減少用戶等待時間振愿,可以在適當(dāng)?shù)奈恢檬褂胒lush,將已經(jīng)就緒的內(nèi)容推送到用戶端弛饭,這在php中很容易實現(xiàn)例如:
    <!-- css, js --> 
    </head> 
    <?php flush();?> 
    <body> 
    ... <!-- content --> 

16.避免采用301冕末、302轉(zhuǎn)向

  • 當(dāng)瀏覽器、代理或搜索引擎派出的"爬蟲"對某一頁面或網(wǎng)址請求調(diào)用時侣颂,該調(diào)用頁面或網(wǎng)址所在的網(wǎng)絡(luò)服務(wù)器將會檢查一個名為.htaccess的文件档桃。該文件包含如何處理特定請求的指令,并在安全性上扮演關(guān)鍵角色憔晒。用戶可對該文件進(jìn)行修改藻肄,通過這個文件來通知瀏覽器蔑舞、代理或"爬蟲",被調(diào)用頁面屬于臨時移走 (302重定向)還是永久性移走(301重定向)嘹屯。我們也可以通過網(wǎng)絡(luò)托管服務(wù)而不是.htaccess'文件來實現(xiàn)301/302永久性重定向雷恃。

17.優(yōu)化圖片文件

  • 優(yōu)化圖片文件着倾,減小其尺寸,特別是縮略圖,一定要按尺寸生成縮略圖然后調(diào)用攀操,不要在網(wǎng)頁中用resize方法實現(xiàn),雖然這樣看到的圖片外形笑了梗摇,但是其加載的數(shù)據(jù)量一點也沒減少鹊漠。曾經(jīng)見過有人在網(wǎng)頁中加載的縮略圖,其真實尺寸有10M之巨…

  • 普通圖像浙滤、icon也要盡可能壓縮后阴挣,可以采用web圖像保存、減少顏色數(shù)等等方法實現(xiàn)纺腊。

18.當(dāng)頁面內(nèi)容龐大到一定程度畔咧,可以采用分頁的方式展現(xiàn),或者taobao的那種翻頁后載入方式揖膜。

19.使用多域名負(fù)載網(wǎng)頁內(nèi)的多個文件誓沸、圖片

  • 有資料說明,IE在網(wǎng)頁載入過程中壹粟,在同1時刻拜隧,對同1域名并行加的HTTP請求數(shù) 量最高為2個,如果網(wǎng)頁需要加載的文件數(shù)量超過2個(通常遠(yuǎn)遠(yuǎn)超過..)趁仙,要加快網(wǎng)頁訪問速度洪添,最好將文件分布到多個域名,例如19樓雀费,其js文件采用獨 立的域名干奢,據(jù)說百度的圖片服務(wù)器數(shù)量在20臺以上。

20.配置ETags

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盏袄,一起剝皮案震驚了整個濱河市忿峻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辕羽,老刑警劉巖逛尚,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逛漫,居然都是意外死亡黑低,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來克握,“玉大人蕾管,你說我怎么就攤上這事∑邪担” “怎么了掰曾?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長停团。 經(jīng)常有香客問我旷坦,道長,這世上最難降的妖魔是什么佑稠? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任秒梅,我火速辦了婚禮,結(jié)果婚禮上舌胶,老公的妹妹穿的比我還像新娘捆蜀。我一直安慰自己,他們只是感情好幔嫂,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布辆它。 她就那樣靜靜地躺著,像睡著了一般履恩。 火紅的嫁衣襯著肌膚如雪锰茉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天切心,我揣著相機(jī)與錄音飒筑,去河邊找鬼昙衅。 笑死而涉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的季眷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼葵孤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了狭姨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谚殊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡穆刻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年朵锣,在試婚紗的時候發(fā)現(xiàn)自己被綠了诚些。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖雪隧,靈堂內(nèi)的尸體忽然破棺而出藕畔,到底是詐尸還是另有隱情庄拇,我是刑警寧澤注服,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站措近,受9級特大地震影響溶弟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞭郑,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一辜御、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屈张,春花似錦擒权、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至场绿,卻和暖如春剖效,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裳凸。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工贱鄙, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姨谷。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像映九,于是被迫代替她去往敵國和親梦湘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評論 25 707
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,748評論 1 92
  • 原創(chuàng)文章倦逐,未經(jīng)允許,嚴(yán)禁轉(zhuǎn)載 還記得 圖片延遲加載方案 那篇博文嗎宫补?當(dāng)初分析了定寬高值和定寬高比這兩種常見的圖片延...
    齊修_qixiuss閱讀 46,874評論 36 376
  • 女一:南宮冰雪(簡稱:雪) 即:沐戀雪 性別:女 年齡:16 身高:175 IQ:600 性格:冷檬姥。灰常冷粉怕,一座冰...
    殤曉晴閱讀 1,195評論 3 3
  • 曾經(jīng)年少不懂事 幸福生活無珍惜 緣失方恨自難受 愛需自握才會喜 天有點暗健民,好像要下雨了。 濤子睡眼迷糊著從床上爬起...
    六月天氣閱讀 475評論 10 28