99久久精品免费观看国产_久久无码人妻一区二区三区_50岁熟妇的呻吟声对白_毛很浓密超多黑毛的少妇

網站前端性能優化

分類: 瀏覽次數:31920 2018-11-06 00:00:00
滿意回答
2018-11-06 00:00:00

Web前端性能優化一般說來Web前端指網站業務邏輯之前的部分,包括瀏覽器加載、網站視圖模型、圖片服務、CDN服務等,主要優化手段有優化瀏覽器訪問、使用反向代理、CDN等。

QQ圖片20170721115930_副本

一、 瀏覽器訪問優化

1.減少http請求

HTTP協議是無狀態的應用層協議,意味著每次HTTP請求都需要建立通信鏈路、進行數據傳輸,而在服務器端,每個HTTP都需要啟動獨立的線程去處理。這些通信和服務的開銷都很昂貴,減少HTTP請求的數目可有效提高訪問性能。減少HTTP的主要手段是合并CSS、合并JavaScript、合并圖片。將瀏覽器一次訪問需要的JavaScript、CSS合并成一個文件,這樣瀏覽器就只需要一次請求。圖片也可以合并,多張圖片合并成一張,如果每張圖片都有不同的超鏈接,可通過CSS偏移響應鼠標點擊操作,構造不同的URL。

2.使用瀏覽器緩存對一個網站建設設計而言,CSS、JavaScript、Logo、圖標這些靜態資源文件更新的頻率都比較低,而這些文件又幾乎是每次HTTP請求都需要的,如果將這些文件緩存在瀏覽器中,可以極好地改善性能。通過設置HTTP頭中Cache-Control和Expires的屬性,可設定瀏覽器緩存,緩存時間可以是數天,甚至是幾個月。在某些時候,靜態資源文件變化需要及時應用到客戶端瀏覽器,這種情況,可通過改變文件名實現,即更新JavaScript文件并不是更新JavaScript文件內容,而是生成一個新的JS文件并更新HTML文件中的引用。使用瀏覽器緩存策略的網站在更新靜態資源時,應采用批量更新的方法,比如需要更新10個圖標文件,不宜把10個文件一次全部更新,而是應一個文件一個文件逐步更新,并有一定的間隔時間,以免用戶瀏覽器突然大量緩存失效,集中更新緩存,造成服務器負載驟增、網絡堵塞的情況。

3.啟用壓縮在服務器端對文件進行壓縮,在瀏覽器端對文件解壓縮,可有效減少通信傳輸的數據量。文本文件的壓縮效率可達80%以上,因此HTML、CSS、JavaScript文件啟用GZip壓縮可達到較好的效果。但是壓縮對服務器和瀏覽器產生一定的壓力,在通信帶寬良好,而服務器資源不足的情況下要權衡考慮。

4.CSS放在頁面最上面、JavaScript放在頁面最下面瀏覽器會在下載完全部CSS之后才對整個頁面進行渲染,因此最好的做法是將CSS放在頁面最上面,讓瀏覽器盡快下載CSS。JavaScript則相反,瀏覽器在加載JavaScript后立即執行,有可能會阻塞整個頁面,造成頁面顯示緩慢,因此JavaScript最好放在頁面最下面。但如果頁面解析時就需要用到JavaScript,這時放在底部就不合適了。

5.減少Cookie傳輸一方面,Cookie包含在每次請求和響應中,太大的Cookie會嚴重影響數據傳輸,因此哪些數據需要寫入Cookie需要慎重考慮,盡量減少Cookie中傳輸的數據量。另一方面,對于某些靜態資源的訪問,如CSS、Script等,發送Cookie沒有意義,可以考慮靜態資源使用獨立域名訪問,避免請求靜態資源時發送Cookie,減少Cookie傳輸的次數。

4.2.2 CDN加速CDN(Content Distribute Network,內容分發網絡)的本質仍然是一個緩存,而且將數據緩存在離用戶最近的地方,使用戶以最快速度獲取數據,即所謂網絡訪問第一跳,如圖4.5所示。 圖4.5 利用CDN的網站架構由于CDN部署在網絡運營商的機房,這些運營商又是終端用戶的網絡服務提供商,因此用戶請求路由的第一跳就到達了CDN服務器,當CDN中存在瀏覽器請求的資源時,從CDN直接返回給瀏覽器,最短路徑返回響應,加快用戶訪問速度,減少數據中心負載壓力。CDN能夠緩存的一般是靜態資源,如圖片、文件、CSS、Script腳本、靜態網頁等,但是這些文件訪問頻度很高,將其緩存在CDN可極大改善網頁的打開速度。

4.2.3 反向代理傳統代理服務器位于瀏覽器一側,代理瀏覽器將HTTP請求發送到互聯網上,而反向代理服務器位于網站機房一側,代理網站Web服務器接收HTTP請求。如圖4.6所示。 圖4.6 利用反向代理的網站架構和傳統代理服務器可以保護瀏覽器安全一樣,反向代理服務器也具有保護網站安全的作用,來自互聯網的訪問請求必須經過代理服務器,相當于在Web服務器和可能的網絡攻擊之間建立了一個屏障。除了安全功能,代理服務器也可以通過配置緩存功能加速Web請求。當用戶第一次訪問靜態內容的時候,靜態內容就被緩存在反向代理服務器上,這樣當其他用戶訪問該靜態內容的時候,就可以直接從反向代理服務器返回,加速Web請求響應速度,減輕Web服務器負載壓力。事實上,有些青島建網站會把動態內容也緩存在代理服務器上,比如維基百科及某些博客論壇網站,把熱門詞條、帖子、博客緩存在反向代理服務器上加速用戶訪問速度,當這些動態內容有變化時,通過內部通知機制通知反向代理緩存失效,反向代理會重新加載最新的動態內容再次緩存起來。此外,反向代理也可以實現負載均衡的功能,而通過負載均衡構建的應用集群可以提高系統總體處理能力,進而改善網站高并發情況下的性能。


標簽:
青島企業郵箱哪家做?多少錢的相關問題

Copyright All Rights GreatGoal Design co.,ltd. 魯ICP備16002128號-3