A. Web前端新手如何做好性能優化
今天小編要跟大家分享的文章是關於Web前端新手如何做好性能優化?影響用戶訪問的最大部分是前端的頁面。網站的劃分一般為二:前端和後台。我們可以理解成後台是用來實現網站的功能的,比如:實現用戶注冊,用戶能夠為文章發表評論等等。而前端呢?其實應該是屬於功能的表現。
而我們建設網站的目的是什麼呢?不就是為了讓目標人群來訪問嗎?所以我們可以理解成前端才是真正和用戶接觸的。
除了後台需要在性能上做優化外,其實前端的頁面更需要在性能優化上下功夫,只有這樣才能給我們的用戶帶來更好的用戶體驗。不僅僅如此,如果前端優化得好,他不僅可以為企業節約成本,他還能給用戶帶肆攔來更多的用戶,因為增強的用戶體驗。說了這么多,那麼我們應該如何對我們前端的頁面進行性能優化呢?
前端性能優化的方法?
一、content方面
1,減少HTTP請求:合並文件、CSS精靈、inlineImage
2,減少DNS查詢:DNS查詢完成之前瀏覽器不能從這個主機下載任何任何文件。方法:DNS緩存、將資源分布到恰當數量的主機名,平衡並行下載和DNS查詢
3,避免重定向:多餘的中間訪問
4,使Ajax可緩存
5,非必須組件延遲載入
6,未來所需組件預載入
7,減少DOM元素數量
8,將資源放到不同的域下:瀏覽器同時從一個域下載資源的數目有限,增加域可以提高並行下載量
9,減少iframe數量
10,不要404
二、Server方面
1,使用CDN
2,添加Expires或者Cache-Control響應頭
3,對組件使用Gzip壓昌亮縮
4,配置ETag
5,FlushBufferEarly
6,Ajax使用GET進行請求
7,避免空src的img標簽
三、cookie方面
1,減小cookie大小
2,引入資源的域名不要包含cookie
四、CSS方面
1,將樣式表放到頁面頂部
2,不使用CSS表達式
3,使用不使用@import
4,不使用IE的Filter
五、JavaScript方面
1,將腳本放到頁面底部
2,將javascript和css從外部引入
3,壓縮javascript和css
4,刪除不需要的腳本
5,減少DOM訪問
6,合理設計事件監聽器、
六、圖片方面
1,優化圖片:根據實際顏色需要選擇色深、壓縮
2,優化css精靈
3,不要在HTML中拉伸圖片
4,保證favicon.ico小並且可緩存
七、移動方面
1,保證組件小於25k
2,
以上就是小編今天為大家分享的關於Web前端新手如何做好性能優化的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。裂迅胡想要了解
更多web前端知識記得關注北大青鳥web培訓官網。最後祝願小夥伴們工作順利!
B. 如何做好網站前端優化
一. 清理 HTML 文檔
二. 優化 CSS 性能
三.減少外部HTTP請求
四. 壓縮 CSS, JS 和 HTML
五. 使用預先獲取
六. 使用 CDN 和緩存提高速度
七. 壓縮文件
八. 優化你的圖片
九. 使用輕量級框架
十.前端優化 – 總結
進行前端優化似乎需要花費很大的精力,相信這篇應用指南中的一些小技巧能幫你極大改善網站載入速度。網站載入地越快,則用戶體驗越佳。因此, 對前端進行優化能使給你和你的用戶都帶來益處。如果你有任何其他好的優化方法,請在評論區留下您的寶貴建議。
C. Web前端應該從哪些方面來優化網站
1、圖片整合,減少圖片獲取載入;
2、代碼精簡,減少不必要的標簽;
3、樣式抽取,盡量將樣式獨立到.css文件,而不是寫在html中 ;
4、樣式能用代碼盡量用代碼,而不用圖片;
5、同一個系統中,布局、樣式的統一 可操作性、交互方面的優化。
D. 前端性能優化有哪些方法
前端性能優化的方法有:
一、減少http請求數
常用的減少http請求數有以下幾種:
1、合並圖片。當圖片較多時,可以合並為一張大圖,從而減少http請求數。經常變化的圖片可能不太合適,變化相對穩定的就可以考慮。合並大圖除了能減少http請求數外,還可以充分利用緩存來提升性能。
2、合並壓縮css樣式表和js腳本,他們的共同目的都是為了減少http連接數。
3、去掉不哪念虧必要的請求。開發寫代碼或者系統升級之後殘留的無效請求連接。
4、充分利用緩存。這里說高卜的緩存是客戶端側緩存或者說瀏覽器緩存。Expires頭信息是客戶端側緩存的重要依據,格式類似於Expires:sun ,20 Dec 2017 23:00:00 GMT。
如果當前時間小於Expires指定的時間,瀏覽器就會從緩存中直接獲取相關的數據信息或html文件,如果當前時間大於Expires指定的時間,瀏覽器會向伺服器發送請求來獲取相關數據信息。
以Apache為例,可在Apache的配置文件httpd.conf中設置Expires。
二、圖片優化
優化方法:
1、盡可能的使用PNG格式的圖片,它相對來說體積較小。
2、對於不同格式的圖片,在上線之前最好進行一定的優化。
3、圖片的延遲載入,也叫做賴載入。
三、使用CDN
CDN即內容分發網路,可以使用戶就近取得所需內容,解決網路李神擁擠的狀況,提高用戶訪問網站的響應速度。
四、開啟GZIP
GZIP即數據壓縮,用於壓縮使用Internet傳輸的所有文本資源。開啟GZIP的方法很簡單,到對應的web服務配置文件中設置一下即可。以Apache為例,在配置文件httpd.conf中添加。
五、樣式表和JS文件的優化
一般我們會把css樣式表文件放到文件的頭部。比如,放到<head>標簽中,這樣可以讓CSS樣式表盡早地完成下載。對應js腳本文件,一般我們把他放到頁面的尾部。
六、使用無cookie域名
無cookie域名的概念:當發送一個請求時,同時還要請求一張靜態的圖片和發送cookie時,伺服器對於這些cookie不會做任何使用,也就是說這些cookie沒什麼用,沒不要隨請求一同發送。
E. Web前端應該從哪些方面來優化網站
前端是龐大的,包括 HTML、 CSS、 Javascript、Image 、Flash等等各種各樣的資源。前端優化是復雜的,針對方方面面的資源都有不同的方式。那麼,前端優化的目的是什麼 ?
1. 從用戶角度而言,優化能夠讓頁面載入得更快、對用戶的操作響應得更及時,能夠給用戶提供更為友好的體驗。
2. 從服務商角度而言,優化能夠減少頁面請求數、或者減小請求所佔帶寬,能夠節省可觀的資源。
總之,恰當的優化不僅能夠改善站點的用戶體驗並且能夠節省相當的資源利用。
前端優化的途徑有很多,按粒度大致可以分為兩類,第一類是頁面級別的優化,例如 HTTP請求數、腳本的無阻塞載入、內聯腳本的位置優化等 ;第二類則是代碼級別的優化,例如 Javascript中的DOM 操作優化、CSS選擇符優化、圖片優化以及 HTML結構優化等等。另外,本著提高投入產出比的目的,後文提到的各種優化策略大致按照投入產出比從大到小的順序排列。
一、頁面級優化
1. 減少 HTTP請求數
這條策略基本上所有前端人都知道,而且也是最重要最有效的。都說要減少 HTTP請求,那請求多了到底會怎麼樣呢 ?首先,每個請求都是有成本的,既包含時間成本也包含資源成本。一個完整的請求都需要經過 DNS定址、與伺服器建立連接、發送數據、等待伺服器響應、接收數據這樣一個 「漫長」 而復雜的過程。時間成本就是用戶需要看到或者 「感受」 到這個資源是必須要等待這個過程結束的,資源上由於每個請求都需要攜帶數據,因此每個請求都需要佔用帶寬。另外,由於瀏覽器進行並發請求的請求數是有上限的 (具體參見此處 ),因此請求數多了以後,瀏覽器需要分批進行請求,因此會增加用戶的等待時間,會給用戶造成站點速度慢這樣一個印象,即使可能用戶能看到的第一屏的資源都已經請求完了,但是瀏覽器的進度條會一直存在。
減少 HTTP請求數的主要途徑包括:
(1). 從設計實現層面簡化頁面
如果你的頁面像網路首頁一樣簡單,那麼接下來的規則基本上都用不著了。保持頁面簡潔、減少資源的使用時最直接的。如果不是這樣,你的頁面需要華麗的皮膚,則繼續閱讀下面的內容。
(2). 合理設置 HTTP緩存
緩存的力量是強大的,恰當的緩存設置可以大大的減少 HTTP請求。以有啊首頁為例,當瀏覽器沒有緩存的時候訪問一共會發出 78個請求,共 600多 K數據 (如圖 1.1),而當第二次訪問即瀏覽器已緩存之後訪問則僅有 10個請求,共 20多 K數據 (如圖 1.2)。 (這里需要說明的是,如果直接 F5刷新頁面的話效果是不一樣的,這種情況下請求數還是一樣,不過被緩存資源的請求伺服器是 304響應,只有 Header沒有Body ,可以節省帶寬 )
怎樣才算合理設置 ?原則很簡單,能緩存越多越好,能緩存越久越好。例如,很少變化的圖片資源可以直接通過 HTTP Header中的Expires設置一個很長的過期頭 ;變化不頻繁而又可能會變的資源可以使用 Last-Modifed來做請求驗證。盡可能的讓資源能夠在緩存中待得更久。
F. 如何進行web前端性能優化
提起Web前端性能優化的問題,前端開發人員非常熟悉,對於一個網站而言,即使內容和功能再優秀,如果用戶需要花費很久的時間才能打開,這樣遲早會消耗用戶的耐心,並最終失去用戶。
那如何才能優化前端性能?歸納為三步
一、關鍵資源位元組數
位元組數也就是通常說的減少資源文件(js、css、image、video...)的大小。
1、壓縮衫螞
前端使用uglify混淆壓縮
後端開啟gzip
對圖片進行壓縮,使用壓縮比例更高的格式(WebP)
2、緩存
強緩存(http狀態碼:200),不用請求服務運納器直接使用本地緩存,協商緩存(http狀態碼:304),使用時先請求伺服器若被告知緩存沒過期則使用本地緩存,不用下載資源,使用localstorage對數據進行存儲。
3、針對首屏優化
對非關鍵資源延遲載入、非同步載入,減少首屏資源大小
二、關鍵資源連接數
1、合並請求
使用http2.0的多路復用合並請求配置combo,在無法使用http2.0的情況下作為一種合並資源請求的手段。
2、減少圖片請求數
使用spite圖,使用svg-symbol。
3、針對一些場景採用css、js內聯的方式。
4、使用強緩存減少了一次伺服器請求。
5、非關鍵資源延遲、非同步載入,減少了首屏資源連接數。
三、關鍵渲染路徑
1、bigpipe分塊輸出
這里主要是因為要完成一整個頁面的輸出後端需要處理很多個任務,我們可以將這些多個任務進行分塊,誰先完成誰就先輸出,最終通過JS回填的方式輸出DOM節點,這種方式主要解決了直出頁面阻塞的問題。
2、bigrender分塊渲染
常規的手段就是採用前端模板渲染頁面,針對首屏時間主要減少了首次構建DOM樹時的節點數
3、針對reflow,repaint,composit路徑處理。
4、涉及到動畫時關於layer的概旁塌沒念renderlayer、graphicslayer。
5、css放在頭部、js放底部避免阻塞DOM樹的構建,關於css、js的位置對於頁面渲染的影響大家可以關注下相關的文章。核心:css資源不會阻塞DOM樹的構建但會阻塞DOM的渲染,JS會阻塞DOM樹的構建,CSS會阻塞JS的執行。