「前端網站性能優化緩存」web前端怎么用代碼實現緩存優化

簡略標題:web前端怎么用代碼實現緩存優

欄目:SEO推廣優化來源:搜遇網絡作者:搜遇網絡小編時間:2021-08-30 10:22:14瀏覽:172

[文章導讀]: 有以下集中方法 方法一:針對瀏覽器設置過期時間,在這個時間內的請求都會先請求本地緩存的文件和數據。另外jquery的ajax請求方式可以設置是否緩存,

很多朋友在網站seo優化的時候回遇到一些網站優化的疑問,其中就包括《前端網站性能優化緩存:web前端怎么用代碼實現緩存優化》問題,那么下面搜遇網絡小編來給您解答一下您現在困惑的問題。

有以下集中方法

方法一:針對瀏覽器設置過期時間,在這個時間內的請求都會先請求本地緩存的文件和數據。另外jquery的ajax請求方式可以設置是否緩存,可以充分利用該選項。

方法二:js請求限制,可以設計成多少秒以內都不響應響應的操作,過期后的操作才會有效。點擊后僅返回一個仿真的結果。

方法三:ajax做dom緩存策略,比如在頁面放一個不可見的textarea,請求過來的數據同時寫入textarea的value,并且在一定時間內(可設置)的請求只去讀取textarea的內容,并將結果展示到頁面上。

前端網站性能優化緩存:web前端網站性能優化怎么優化引用文件位置

有一些插件需要引用到遠程的圖片、CSS、JS、圖標等,如果遠程的資源連接網速不佳,如國外的某些資源,會造成網頁阻塞,同樣也會造成頁面展示問題,盡量能把引用遠程的資源能本地化。推薦你去三人行慕課上學習,比較全面

常見的前端性能優化手段都有哪些?都有多大收益

規則01:盡量減少HTTP請求

前端優化的黃金準則指導著前端頁面的優化策略:只有10%-20%的最終用戶響應時間花在接受請求的HTML文檔上,剩下的80%-90%時間花在為HTML文檔所引用的所有組件(圖片、腳本、樣式表等)進行的HTTP請求上。因此,改善響應時間的最簡單途徑就是減少組件的數量,并由此減少HTTP請求的數量。當然很多人就會說,既然這樣,那我們就減少頁面組件的數量不就OK了嗎?那你試試,你會掀起一場性能優化和產品設計之間的大PK。

所以,我們要減少HTTP請求是要平衡性能設計的。如果找到這個平衡點呢?書中從以下幾個方面做了介紹,我逐一說明:

圖片地圖

初看圖片地圖”四個字,對非專業的前端人員來說一頭霧水,我的第一印象就是這樣的,咱們以京東移動站點為例,右側用戶和購物車圖標,正常實現我會選擇如下方式:

用戶icon顯示的樣式表”>

這種方式無可厚非的,但是兩張圖片就有兩個HTTP請求,這明顯是增加了頁面中的HTTP請求。那么我們可以把這兩個HTTP請求變成一個嗎?

答案當然是可以的,這就是圖片地圖:允許在一張圖片上關聯多個URL,而目標URL的選擇取決于用戶單擊了圖片上的哪個位置。

這樣上面京東兩個圖標合并成一張圖片,這樣圖片的HTTP請求就減少了一個。

示例代碼如下:

用戶跳轉頁面URL”>

不過圖片地圖只支持矩形形狀,其他形狀不支持。

②請CSS喝“雪碧”(CSSSprites)CSSSprites一句話:將多個圖片合并到一張單獨的圖片,這樣就大大減少了頁面中圖片的HTTP請求。

③聯圖片和腳本使用data:URL(編碼)模式直接將圖片包含在Web頁面中而無需進行HTTP請求。但是此種方法存在明顯缺陷:-不受IE的歡迎;-圖片太大不宜采用這種方式,因為編碼之后會增加圖片大小,這樣頁面整體的下載量會變大;-聯圖片在頁面跳轉的時候不會被緩存。(大圖片可以使用瀏覽器的本地緩存,在首次訪問的時候保存到瀏覽器緩存中,典型的是HTML5的manifest緩存機制以及LocalStorage等)。

樣式表的合并將頁面樣式定義、腳本、頁面本身代碼嚴格區分開,但是樣式表、腳本也不是分割越細越好,因為沒多引用一個樣式表就增加一次HTPP請求,能合并的樣式表盡量合并。一個網站有一個公用樣式表定義,每個頁面只要有一個樣式表就OK啦。

通過以上四個努力之后,你會發現你的網頁響應時間最多能減少一半,這不是作者大話,也不是我狂吹,我親手用我的移動網站首頁做了一個嘗試,本地測試之后響應時間能減少40%左右。所以減少頁面HTTP請求數量,是一個很重要的原則。遵循此原則可以同時改善首次訪問和后續訪問的響應時間,而每一個網站的首次響應時間會決定用戶之后還來不來的重要原因。

規則02:使用內容發布網絡(CDN的使用)

什么叫內容發布網絡(CDN)?它是一組分布在多個不同地理位置的Web服務器,用于更加有效地向用戶發布內容。主要用于發布頁面靜態資源:圖片、css文件、js文件等。如此,能輕易地提高響應速度。關于CDN的具體詳細原理以及優缺點,各位可以自行詢問度娘或者google。

規則03:添加Expires頭

瀏覽器使用緩存來減少HTTP請求的數據,并減小HTTP響應的大小,使頁面加載更快。Web服務器使用Expires頭來告訴瀏覽器它可以使用一個組件的當前副本,直到指定的deadline為止。HTTP規范中稱此頭為:在這一時間之后響應被認為失效。個人對這塊表示不想使用,其實就是一句話,把一些css、js、圖片在首次訪問的時候全部緩存到瀏覽器本地,從我做移動網站的過程中發現,其實沒有這么復雜,完全可以使用HTML5提供的本地緩存機制就OK了。關于HTML5本地緩存機制,各位可以查閱相關資料。后續我也會對HTML5的緩存機制進行介紹的。

規則04:壓縮組件(使用Gzip方式)

書中關于壓縮從gzip壓縮方式到如何壓縮講了很多,我想直接跳過,對于做PC網站或者移動網站來說,急需要壓縮的是css文件和js文件,至于如何壓縮,網上有很多在線工具,去挑選一個自己用的順手看的順眼的就好,當然也有人選擇對HTML進行壓縮,這樣也可以。但是實際工作中我沒有這么做。之所謂沒有這么做,是因為我覺得很麻煩。不要鄙視我,畢竟我不是一個真正意義上的前端工程師,哈哈!

規則05:將CSS樣式表放在頂部

如果將css樣式定義放在頁面中或者頁面底部,會出現短暫白屏或者某一區域短暫白板的情況,這和瀏覽器的運營機制有關的,不管頁面如何加載,頁面都是逐步呈現的。所以在每做一個頁面的時候,用Link標簽把每一個樣式表定義放在head中。

規則06:將javascript腳本放在底部

瀏覽器在加載css文件時,頁面逐步呈現會被阻止,直到所有css文件加載完畢,所以要把css文件的引用放到head中去,這樣在加載css文件時不會組織頁面的呈現。但是對于js文件,在使用的時候,它下面所有也頁面內容的呈現都會被阻塞,將腳本放在頁面越靠下的地方,就意味著越多的內容能夠逐步呈現。

規則07:避免使用CSS表達式

CSS表達式動態玩CSS的一種很強大的方式,但是強大的同時也存在很高的危險性。因為css表達式的頻繁求值會導致css表達式性能低下。如果真想玩css表達式,可以選用只求值一次的表達式或者使用事件處理來改變css的值。

規則08:使用外部javascript和CSS內聯js和css其實比外部文件有更快的響應速度,那為什么還要用外部呢?因為使用外部的js和css可以讓瀏覽器緩存他們,這樣不僅HTML文檔大小減少,而且不會增加HTTP請求數量。另外,使用外部js和css可以提高組件的可復用性。

規則09:減少DNS查詢

DNS查詢有時間開銷,通常一個瀏覽器查找一個給定主機名的IP地址需要20-。緩存DNS:緩存DNS查詢可以很好地提高網頁性能,一旦緩存了DNS查詢,之后對于相同主機名的請求就無需進行再次的DNS查找,至少短時間內不需要。所以在使用頁面中URL、圖片、js文件、css文件等時,不要使用過多不同的主機名。

規則10:精簡javascript

如何精簡?

其實已經給大家準備好精簡JS所需的所有工具“前端神器”,這點為大家做的很不錯,在這個規則里我們就用到“JS壓縮/混淆/美化工具

最初始的精簡方式:就是移除不必要的字符減小js文件大小,改善加載時間。包括所有的注釋、不必要的空白字符。

高級一點的精簡方式就是:混淆。

它不但會移除不必要的字符,還會改寫代碼,比如函數和變量的名字會被改成很短的字符串,這樣使js代碼更簡練更難閱讀。

但是我一般很少使用混淆,一個現在互聯網時代,代碼沒有必要整的那么神秘,大可以大家一起share,天下代碼一起抄,只要抄出自己的特色就ok了。前端網站性能優化緩存

而且一旦使用混淆,對于js代碼的維護和調試都很復雜,因為有時候混淆之后的js代碼完全看不懂。其實實際開發過程中,從文件大小和代碼可復用性來說,不僅僅是js代碼需要精簡,css代碼一樣也很需要精簡。

規則11:避免重定向

重定向英文是Redirect,用于將用戶從一個URL重新跳轉到另一個URL。

最常見的Redirect就是和兩種。

關于重定向的性能影響這里就不說了,自行查閱相關資料吧。

在我們實際開發中避免重定向最簡單也最容易被忽視的一個問題就是,設置URL的時候,最后的“/”,有些人有時候會忽略,其實你少了“/”,這時候的URL就被重定向了,所以在給頁面鏈接加URL的時候切記最后的“/”不可丟。

規則12:刪除重復腳本

重復的js代碼除了有不必要的HTTP請求之外,還會浪費執行js的時間。

將你使用的js代碼模塊化,可以很好地避免這個問題,至于js模塊化如何實現,現在有很多可以使用的開源框架,我用的比較多的是我們公司玉伯的Sea.js。

規則13:配置ETag

Etag(EntityTag),實體標簽,是Web服務器和瀏覽器用戶確認緩存組件的有效性的一種機制。寫的很復雜,對我這種非專業的前端開發人員來說,有點過了,關于這個原則有興趣的自己看吧。

規則14:使Ajax可緩存

針對頁面中主動的Ajax請求返回的數據要緩存到本地,當然這個是針對短期內不會變化的數據。如果不確定數據變化周期的話,可以增加一個修改標識的判斷,我正常處理過程中會給一些Ajax請求返回的數據增加一個MD5值的判斷,每次請求會判斷當前MD5是否變化,如果變化了取最新的數據,如果不變化,則不變。

以上就是關于前端網站性能優化緩存,web前端怎么用代碼實現緩存優化的文章內容,如果您有網站優化的意向,可以直接聯系我們。很高興為您服務!

[免責聲明]: 部分文章信息來源于網絡以及網友投稿,本網站只負責對文章進行整理、排版、編輯,是出于傳遞 更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快處理。

[標題]:「前端網站性能優化緩存」web前端怎么用代碼實現緩存優化

[本文鏈接]:http://www.cravertile.com/case_seotgyh/57288.html

本文關鍵詞:

相關評論

來自【湖南省長沙市瀏陽市】的客戶對搜遇網絡的反饋

設計的挺好的,給同事都推薦了,都覺得不錯

發表于:2018-10-03 02:35:30 | 電腦端

來自【湖南省株洲市蘆淞區】的客戶對搜遇網絡的反饋

他們的服務態度很好,基本有什么問題都會第一時間回答。

發表于:2018-10-03 02:37:41 | 電腦端

來自【湖南省株洲市炎陵縣】的客戶對搜遇網絡的反饋

挺有用幫大忙了,搜遇網絡很專業。

發表于:2018-10-03 02:43:32 | 電腦端

來自【衡陽湖南省長沙市開福區】的客戶對搜遇網絡的反饋

服務好價格優下次還來

發表于:2018-10-03 02:33:59 | 電腦端

來自【湖南省株洲市天元區】的客戶對搜遇網絡的反饋

挺好的,高效率,專業水準,有需要還會找他們做SEO網站建設的。

發表于:2018-10-03 02:39:44 | 電腦端

相關資訊

服務支持

長沙SEO搜遇網絡我們珍惜您每一次在線詢盤,有問必答,搜遇網絡長沙SEO用專業的態度,貼心的服務。

讓您真正感受到我們的與眾不同!

seo網站優化咨詢

學習流程

學習流程,網站優化制作流程從提出問題到網站開發,再到網頁制作,長沙SEO搜遇網絡每一步都有規范和專業的技術分享。

關鍵詞優化常見問題

常見問題

常見問題提供什么是網站技術分享?你們網站優化如何?等網站建設常見問題,長沙SEO搜遇網絡給您專業分享。

網站seo咨詢保障

分享技術

網站制作不難,難的是一如既往的熱情分享及技術支持。我們知道:做網站就是做服務,就是給大家分享有用的技術

{转码词},{转码词1},{转码词2},{转码词3}
<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>