如果您的網站在使用者造訪時的載入時間需要很久,那麼,這篇文章興許能為您的最佳化工作帶來一些啟發。不過即便沒能幫您解決你的問題,您也能了解到影響了網站載入時間的幾種常見錯誤是什麼。
頁面的載入時間直接影響了使用者對網站效能的直覺感受。有研究數據表示,
一旦頁面載入時間超過3秒,那麼將會有一半的訪客在等待中流失。
讓我們來看看幾個基於HubSpot所做研究的範例:
根據上面的數據,您可以看出頁面載入時間對您的網站有多重要。
影響頁面載入時間的因素很多,在這些錯誤中,我列出了我在建立網站時遇到的比較有代表性的五大錯誤。
每當瀏覽器需要從網路伺服器取得檔案、頁面或映像時,都會發出一次HTTP請求,之後您可以透過Chrome「開發人員工具」中的「Network」標籤去監控應用程式是發出了哪些網路請求,哪些請求比較耗時等資訊。
一般瀏覽器通常會將同時發出的HTTP請求數限制在4-8個之間。因此,當並發請求數量較多時,會產生較長的等待延遲。 Yahoo所做的研究表明,您的應用程式載入時間的80%依賴HTTP請求,減少HTTP的請求總量對加快頁面載入時間是有幫助的。
您可以透過下面的方式來減少Web應用程式的HTTP請求總量:
如果您的網站沒有啟用CDN,則當使用者的實體位置遠離伺服器時,載入時間會增加。這些延遲會隨著距離的增加而變得更明顯,並且會影響到對伺服器的所有HTTP請求。使用CDN可以縮短頁面載入時間。
CDN是什麼?
CDN的全名為Content Delivery Network,即內容傳遞網路。 CDN是建立在網路之上的內容分發網絡,依靠部署在各地的邊緣伺服器,透過中心平台的負載平衡、內容分發、調度等功能模組,使用戶可以就近獲取所需內容。
使用CDN將使使用者能夠從距離其位置最近的伺服器取得網頁所需的資源。 CDN中的伺服器分佈在不同的地理位置。所以使用這種CDN是改善應用程式載入時間的有效方法之一。
例如,如果您的網路伺服器位於加州,如果您部署了CDN,您的訪客存取網路拓補圖可能是下面的樣子。
大多數CDN服務都擁有自己的網路骨幹,與網路相比,它們可以提供更高的服務質量,更少的資料包率及更快的加載速度等有點。缺點,就是貴。
從Web伺服器上載入大尺寸檔案或載入頁面尺寸較大時將耗費大量時間,所以可能會在為了取得幾個這樣大的檔案而使頁面載入時間變長。
透過啟用壓縮是減少HTTP請求檔案大小、縮短頁面載入時間的常用方式。
常見的壓縮方式有兩種:
第一種方式是Gzip,Gzip可以定位檔案中的類似程式碼,並暫時替換它們,使檔案變小。目前,大多數Web伺服器都支援Gzip壓縮。對HTML或CSS檔案啟用壓縮通常可以節省約50%或70%的檔案大小,從而減少頁面載入時間和使用的頻寬。您可以透過減少應用程式中使用的圖像的大小來進一步減少頁面載入時間。
另一種壓縮方案稱為Brotli,根據官方介紹壓縮比較gzip要高20%~30%,並且執行效率更高效,具體的因為我這沒有測試,所以無法佐證,您可以根據您的實際情況來考慮。
同時載入所有HTML、CSS和JS檔案將增加頁面載入時間,因為在載入所有這些資源之前,頁面渲染的流程將被阻止。
延遲JavaScript載入是一種在載入其他元素之後載入大型JS檔案的機制。此方法可確保載入頁面內容時不會因載入大型JS檔案而受到影響。
如果您有一個HTML站點,則需要在36cc49f0c466276486e50c850b7e4956標記之前呼叫外部JS檔(defer.js)。
<script type="text/javascript"> function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "defer.js"; document.body.appendChild(element); } if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false); else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); else <br> window.onload = downloadJSAtOnload; </script>
上面的程式碼是說,「等待整個文件加載,然後再加載外部defer.js檔案。」
一般情況下,我們使用重定向來處理移動或刪除的頁面,以避免用戶造訪時發生錯誤。但是,更多的重定向意味著更多的HTTP請求。這會大大增加頁面載入時間。谷歌建議網站所有者取消重定向,以縮短載入時間,特別是在行動優先的網站上。
您可以使用類似網站爬取工具來獲得網站中的所有重定向請求。透過分析這一點,您可以掌握並清除其中不必要的重定向。
一般,重定向分為兩種:
避免使用你的頁面使用客戶端重定向,同時將伺服器端重定向保持在最低限度內,從而優化網頁載入時間。
一個執行、載入速度快的網站相信對站長和使用者而言都是有益的,我希望這篇文章能讓您對頁面加載時間的重要性有足夠的信心。
如果您正在考慮提升您的網站效能,我有一些工具可以分享給您,例如Google Pagespeed Insights,Pingdom,YSlow等。這些工具可以提供完整的報告讓您深入了解您的網站的短板。希望您的網站也可以獲得更好的使用者體驗。
原文出處:https://blog.bitsrc.io/5-common-mistakes-developers-do-that-affect-page-load-time-5a49b0e46f6b
#更多程式相關知識,請造訪:程式設計入門! !
以上是影響頁面載入時間的5個常見錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!