網(wǎng)站前端優(yōu)化網(wǎng)站性能的方法分析
我們通常聽說網(wǎng)站的性能有問題。要優(yōu)化它,所有的后端開發(fā)人員都要加班來優(yōu)化代碼。所以前端程序員無事可做,有沒有優(yōu)化的地方?今天,我們來談?wù)勄岸顺绦騿T的優(yōu)化。
1、 瀏覽器訪問優(yōu)化
HTTP協(xié)議是一種無狀態(tài)的應(yīng)用層協(xié)議,意味著每個HTTP請求都需要建立一個通信鏈路進行數(shù)據(jù)傳輸,而在服務(wù)器端,每個HTTP都需要啟動一個獨立的線程進行處理。這些通信和服務(wù)成本非常昂貴,減少HTTP請求的數(shù)量可以有效地提高訪問性能。
減少HTTP請求的主要方法是合并CSS、Javascript和圖片。將每次訪問所需的瀏覽器-JavaScript和CSS合并到一個文件中,這樣瀏覽器只需要一個請求。圖片也可以合并。多張圖片可以合并為一張。如果每張圖片都有不同的超鏈接,則可以使用CSS偏移量響應(yīng)鼠標單擊操作并構(gòu)造不同的url。
對于一個網(wǎng)站來說,CSS、JavaScript、logo、icon等靜態(tài)資源文件的更新頻率相對較低,幾乎每個HTTP請求都需要這些文件。如果將這些文件緩存在瀏覽器中,則可以大大提高性能。通過在HTTP頭中設(shè)置cache control和expires的屬性,可以設(shè)置瀏覽器緩存。緩存時間可以是幾天甚至幾個月。
服務(wù)器端的文件壓縮和瀏覽器端的文件解壓縮可以有效地減少通信傳輸?shù)臄?shù)據(jù)量。文本文件的壓縮效率可以達到80%以上,因此對Html、CSS和JavaScript文件啟用gzip壓縮可以取得更好的效果。
CSS放在頁面的頂部,JS放在頁面的底部。下載完所有CSS后,瀏覽器將呈現(xiàn)整個頁面,因此優(yōu)化的方法是將CSS放在頁面頂部,這樣瀏覽器就可以盡快下載CSS。相反,JavaScript在瀏覽器加載JavaScript后立即執(zhí)行,這可能會阻塞整個頁面,導(dǎo)致頁面顯示緩慢。因此,JavaScript放在頁面的底部。但是如果頁面解析需要JavaScript,那么將它放在底部是不合適的
2、 使用CDN加速
CDN(content distribution network,內(nèi)容分發(fā)網(wǎng)絡(luò))的本質(zhì)仍然是一個緩存,數(shù)據(jù)被緩存在離用戶近的地方,以便用戶能夠以快的速度獲取數(shù)據(jù)。
由于CDN部署在網(wǎng)絡(luò)運營商的機房,網(wǎng)絡(luò)運營商也是終用戶的網(wǎng)絡(luò)服務(wù)提供商,因此用戶請求路由到達CDN服務(wù)器。當CDN中有瀏覽器請求的資源時,它們直接從CDN返回到瀏覽器中,短路徑返回響應(yīng),加快了用戶訪問速度,降低了數(shù)據(jù)中心的負載壓力。
3、 反向代理
傳統(tǒng)的代理服務(wù)器位于瀏覽器端,代理瀏覽器向互聯(lián)網(wǎng)發(fā)送HTTP請求,而反向代理服務(wù)器位于網(wǎng)站機房側(cè),代理網(wǎng)站web服務(wù)器接收HTTP請求。
由于傳統(tǒng)的代理服務(wù)器可以保護瀏覽器的安全,反向代理服務(wù)器也可以保護網(wǎng)站的安全。來自Internet的訪問請求必須通過代理服務(wù)器,這相當于在web服務(wù)器和可能的網(wǎng)絡(luò)攻擊之間建立了一個屏障。
除了安全性之外,代理服務(wù)器還可以通過配置緩存來加速Web請求。當用戶初次訪問靜態(tài)內(nèi)容時,靜態(tài)內(nèi)容緩存在反向代理服務(wù)器上,這樣當其他用戶訪問靜態(tài)內(nèi)容時,可以直接從反向代理服務(wù)器返回,加快web請求的響應(yīng)速度,減輕web服務(wù)器的負載壓力。
想了解更多SEO新聞的內(nèi)容,請訪問:SEO新聞