一殴泰、盡可能的減少 HTTP 的請(qǐng)求數(shù)
什么是 http 請(qǐng)求?
當(dāng)你打開(kāi)網(wǎng)頁(yè)時(shí)浮驳,你所看到的文字艰匙、圖片、多媒體等等抹恳,這一切內(nèi)容员凝,都是你從服務(wù)器獲取的,每一個(gè)內(nèi)容的獲取奋献,就是一個(gè)http請(qǐng)求健霹。
優(yōu)化方案:
(1) 圖片合并
(2) js合并
(3) css合并
二、使用CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))
什么是 CDN 瓶蚂?
在離你最近的地方糖埋,放置一臺(tái)性能好鏈接順暢的副本服務(wù)器,讓你能夠以最近的距離窃这,最快的速度獲取內(nèi)容瞳别。
三、添加Expire/Cache-Control頭
四杭攻、啟用Gzip壓縮
服務(wù)器壓縮祟敛,瀏覽器解析。
五兆解、將css放在頁(yè)面最上面
css:層疊樣式表單
層疊即意味著后面的css可以覆蓋前面的css馆铁,級(jí)別高的css會(huì)覆蓋級(jí)別低的css
六、將script放在頁(yè)面最下面
主要是為了避免阻塞其他資源加載锅睛。
七埠巨、避免在css中使用 Expressions
css Expressions 即css表達(dá)式
出現(xiàn)問(wèn)題:計(jì)算頻率比想象的多,會(huì)拉低頁(yè)面性能现拒。
八辣垒、把js和css都放到外部文件中
不一定按照這條來(lái)。
九印蔬、減少DNS查詢(xún)
十勋桶、最小化 js 和 css
減少文件體積
十一、避免重定向
重定向:原始請(qǐng)求被重新轉(zhuǎn)向到了其他請(qǐng)求
重定向狀態(tài)碼:
301: 永久重定向
302: 臨時(shí)重定向
為什么要避免重定向?
重定向增加了瀏覽器到服務(wù)器往返次數(shù)哥遮。
舉例:
用戶(hù)發(fā)起對(duì)a.com服務(wù)器的訪問(wèn)岂丘,但是a.com被重定向到了b.com服務(wù)器,服務(wù)器將重定向信息返回給用戶(hù)眠饮,在用戶(hù)請(qǐng)求header中寫(xiě)入新的地址即b.com奥帘,
用戶(hù)瀏覽器重新請(qǐng)求b.com。過(guò)程中多了一個(gè)對(duì)b.com的請(qǐng)求過(guò)程仪召。
十二寨蹋、移除重復(fù)的腳本
十三、配置實(shí)體標(biāo)簽(ETag)
減輕服務(wù)器負(fù)擔(dān)
十四扔茅、使用 AJAX 緩存
post請(qǐng)求不被緩存已旧,get請(qǐng)求可以被緩存