摘要:性能優(yōu)化如何進行網(wǎng)站性能優(yōu)化方面減少請求合并文件精靈減少查詢查詢完成之前瀏覽器不能從這個主機下載任何任何文件。
性能優(yōu)化
如何進行網(wǎng)站性能優(yōu)化
content方面
減少HTTP請求:合并文件、CSS精靈、inline Image
減少DNS查詢:DNS查詢完成之前瀏覽器不能從這個主機下載任何任何文件。方法:DNS緩存、將資源分布到恰當(dāng)數(shù)量的主機名,平衡并行下載和DNS查詢
避免重定向:多余的中間訪問
使Ajax可緩存
非必須組件延遲加載
未來所需組件預(yù)加載
減少DOM元素數(shù)量
將資源放到不同的域下:瀏覽器同時從一個域下載資源的數(shù)目有限,增加域可以提高并行下載量
減少iframe數(shù)量
不要404
Server方面
使用CDN
添加Expires或者Cache-Control響應(yīng)頭
對組件使用Gzip壓縮
配置ETag
Flush Buffer Early
Ajax使用GET進行請求
避免空src的img標(biāo)簽
Cookie方面
減小cookie大小
引入資源的域名不要包含cookie
css方面
將樣式表放到頁面頂部
不使用CSS表達式
不使用IE的Filter
Javascript方面
將腳本放到頁面底部
將javascript和css從外部引入
壓縮javascript和css
刪除不需要的腳本
減少DOM訪問
合理設(shè)計事件監(jiān)聽器
圖片方面
優(yōu)化圖片:根據(jù)實際顏色需要選擇色深、壓縮
優(yōu)化css精靈
不要在HTML中拉伸圖片
保證favicon.ico小并且可緩存
移動方面
保證組件小于25k
Pack Components into a Multipart Document
你有用過哪些前端性能優(yōu)化的方法?
減少http請求次數(shù):CSS Sprites, JS、CSS源碼壓縮、圖片大小控制合適;網(wǎng)頁Gzip,CDN托管,data緩存 ,圖片服務(wù)器。
前端模板 JS+數(shù)據(jù),減少由于HTML標(biāo)簽導(dǎo)致的帶寬浪費,前端用變量保存AJAX請求結(jié)果,每次操作本地變量,不用請求,減少請求次數(shù)
用innerHTML代替DOM操作,減少DOM操作次數(shù),優(yōu)化javascript性能。
當(dāng)需要設(shè)置的樣式很多時設(shè)置className而不是直接操作style
少用全局變量、緩存DOM節(jié)點查找的結(jié)果。減少IO讀取操作
避免使用CSS Expression(css表達式)又稱Dynamic properties(動態(tài)屬性)
圖片預(yù)加載,將樣式表放在頂部,將腳本放在底部 加上時間戳
避免在頁面的主體布局中使用table,table要等其中的內(nèi)容完全下載之后才會顯示出來,顯示比div+css布局慢
談?wù)勑阅軆?yōu)化問題
代碼層面:避免使用css表達式,避免使用高級選擇器,通配選擇器
緩存利用:緩存Ajax,使用CDN,使用外部js和css文件以便緩存,添加Expires頭,服務(wù)端配置Etag,減少DNS查找等
請求數(shù)量:合并樣式和腳本,使用css圖片精靈,初始首屏之外的圖片資源按需加載,靜態(tài)資源延遲加載
請求帶寬:壓縮文件,開啟GZIP
代碼層面的優(yōu)化
用hash-table來優(yōu)化查找
少用全局變量
用innerHTML代替DOM操作,減少DOM操作次數(shù),優(yōu)化javascript性能
用setTimeout來避免頁面失去響應(yīng)
緩存DOM節(jié)點查找的結(jié)果
避免使用CSS Expression
避免全局查詢
避免使用with(with會創(chuàng)建自己的作用域,會增加作用域鏈長度)
多個變量聲明合并
避免圖片和iFrame等的空Src。空Src會重新加載當(dāng)前頁面,影響速度和效率
盡量避免寫在HTML標(biāo)簽中寫Style屬性
前端性能優(yōu)化最佳實踐?
性能評級工具(PageSpeed 或 YSlow)
合理設(shè)置 HTTP 緩存:Expires 與 Cache-control
靜態(tài)資源打包,開啟 Gzip 壓縮(節(jié)省響應(yīng)流量)
CSS3 模擬圖像,圖標(biāo)base64(降低請求數(shù))
模塊延遲(defer)加載/異步(async)加載
Cookie 隔離(節(jié)省請求流量)
localStorage(本地存儲)
使用 CDN 加速(訪問最近服務(wù)器)
啟用 HTTP/2(多路復(fù)用,并行加載)
前端自動化(gulp/webpack)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/93915.html
摘要:端優(yōu)談?wù)勱P(guān)于前端的緩存的問題我們都知道對頁面進行緩存能夠有利于減少請求發(fā)送,從而達到對頁面的優(yōu)化。而作為一名有追求的前端,勢必要力所能及地優(yōu)化我們前端頁面的性能。這種方式主要解決了淺談前端中的過早優(yōu)化問題過早優(yōu)化是萬惡之源。 優(yōu)化向:單頁應(yīng)用多路由預(yù)渲染指南 Ajax 技術(shù)的出現(xiàn),讓我們的 Web 應(yīng)用能夠在不刷新的狀態(tài)下顯示不同頁面的內(nèi)容,這就是單頁應(yīng)用。在一個單頁應(yīng)用中,往往只有一...
摘要:在本文中我將會介紹應(yīng)用性能優(yōu)化的一般原則。性能優(yōu)化的流程圖摘取自和合著的性能,描述了應(yīng)用性能優(yōu)化的處理流程。例如,對每臺服務(wù)器,你面臨著為單個分配堆內(nèi)存和運行個并為每個分配堆內(nèi)存的選擇。不過位能使用堆內(nèi)存最大理論值只有。 原文鏈接:http://www.cubrid.org/blog/dev-platform/the-principles-of-java-application-per...
摘要:淺談網(wǎng)站性能之前端性能優(yōu)化性能優(yōu)化的目的無非是減少用戶流量消耗,提升用戶首屏體驗,提升用戶訪問速度,讓用戶專注內(nèi)容本身。前端性能優(yōu)化減少請求數(shù)量基本原理在瀏覽器與服務(wù)器進行通信時,主要是通過進行通信。 最近項目慢慢走上正軌,需求趨于平穩(wěn),這才想起需要對整站進行性能優(yōu)化。經(jīng)過一段時間的學(xué)習(xí),結(jié)合現(xiàn)在項目的實際性能情況,發(fā)現(xiàn)確實有許多地方可以進行優(yōu)化。于是就開始了我的前端性能優(yōu)化之旅。以下...
摘要:淺談網(wǎng)站性能之前端性能優(yōu)化性能優(yōu)化的目的無非是減少用戶流量消耗,提升用戶首屏體驗,提升用戶訪問速度,讓用戶專注內(nèi)容本身。前端性能優(yōu)化減少請求數(shù)量基本原理在瀏覽器與服務(wù)器進行通信時,主要是通過進行通信。 最近項目慢慢走上正軌,需求趨于平穩(wěn),這才想起需要對整站進行性能優(yōu)化。經(jīng)過一段時間的學(xué)習(xí),結(jié)合現(xiàn)在項目的實際性能情況,發(fā)現(xiàn)確實有許多地方可以進行優(yōu)化。于是就開始了我的前端性能優(yōu)化之旅。以下...
閱讀 3213·2021-09-22 15:50
閱讀 3465·2021-09-10 10:51
閱讀 3228·2019-08-29 17:10
閱讀 2990·2019-08-26 12:14
閱讀 1894·2019-08-26 12:00
閱讀 1095·2019-08-26 11:44
閱讀 715·2019-08-26 11:44
閱讀 2878·2019-08-26 11:41