優(yōu)化網(wǎng)站建設(shè)性能意味著超越正常標(biāo)準(zhǔn)。首頁至關(guān)重要,但改善它需要的不僅僅是調(diào)整服務(wù)器響應(yīng)時間。相關(guān)分析是什么導(dǎo)致了網(wǎng)站檢測的糟糕分數(shù),以及為什么僅僅減少服務(wù)器響應(yīng)時間對于優(yōu)化來說是不夠的,并且通常不會是你可以對你的網(wǎng)站做出的最有影響力的改變。
快速加載你的網(wǎng)站對訪問者的體驗有很大的影響。畢竟,在加載完HTML的第一部分之前,不會顯示任何頁面內(nèi)容。這就是為什么到達第一個字節(jié)的時間(TTFB)度量很重要:它衡量導(dǎo)航后瀏覽器開始接收HTML響應(yīng)的時間??焖偕蒆TML文檔在最小化TTFB延遲方面起著重要作用。但實際上,優(yōu)化這一指標(biāo)還有很多工作要做。在本文中,我們將看看還有什么會導(dǎo)致TTFB不佳,以及您可以做些什么來修復(fù)它。
不同的工具對此有不同的處理方式。有些只計算發(fā)送HTTP請求和獲得響應(yīng)所花費的時間,而忽略了在加載資源之前需要首先發(fā)生的其他事情。然而,當(dāng)看著谷歌的核心網(wǎng)絡(luò)生命,TTFB從時間開始當(dāng)用戶開始導(dǎo)航到新頁面時。這意味著TTFB包括:跨起點重定向、連接到服務(wù)器所花費的時間、同源重定向、對HTML文檔的實際請求。連接到網(wǎng)絡(luò)上的服務(wù)器通常需要在網(wǎng)絡(luò)上往返三次:DNS:查找服務(wù)器IP地址、TCP:建立與服務(wù)器的可靠連接、TLS:創(chuàng)建安全的加密連接。
網(wǎng)絡(luò)延遲對第一個字節(jié)的時間意味著什么,2個服務(wù)器連接:6次往返和2個HTTP請求:2次往返。這意味著在我們得到頁面的第一個響應(yīng)字節(jié)之前我們實際上必須在瀏覽器和服務(wù)器之間來回發(fā)送數(shù)據(jù)八次!這就是網(wǎng)絡(luò)延遲的由來,或者說網(wǎng)絡(luò)往返時間(RTT)如果我們看看向服務(wù)器發(fā)送數(shù)據(jù)和在瀏覽器中接收響應(yīng)所花的時間。在具有150毫秒RTT的高延遲連接上,進行這八次往返將需要1.2秒。所以即使服務(wù)器總是即時響應(yīng),我們也無法得到低于那個數(shù)字的TTFB。
提高網(wǎng)站速度的一種方法是使用內(nèi)容交付網(wǎng)絡(luò)(CDN)。這些服務(wù)提供了一個全球分布的服務(wù)器位置網(wǎng)絡(luò)。瀏覽器連接到附近的CDN服務(wù)器(稱為邊緣節(jié)點),而不是每次往返都去托管web應(yīng)用的地方。這大大減少了建立服務(wù)器連接所花費的時間,改善了您的整體TTFB指標(biāo)。默認情況下,實際的HTML請求仍然必須發(fā)送到您的web應(yīng)用程序。但是,如果您的內(nèi)容不是動態(tài)的,您也可以CDN邊緣節(jié)點的緩存響應(yīng)。這樣,請求可以完全通過CDN來提供,而不是數(shù)據(jù)在世界各地傳輸。
如果我們在一個使用CDN的網(wǎng)站上運行TTFB測試,我們可以看到每個服務(wù)器響應(yīng)都來自一個靠近請求發(fā)出地的區(qū)域數(shù)據(jù)中心。在許多情況下,我們得到的TTFB少于200毫秒,這是因為響應(yīng)已經(jīng)緩存在邊緣節(jié)點上。請記住,TTFB取決于訪問者如何訪問您的網(wǎng)站。例如,如果他們登錄到您的應(yīng)用程序,頁面內(nèi)容可能無法從緩存中提供。當(dāng)運行廣告活動時,你也可能會看到TTFB的峰值,因為訪問者通過點擊跟蹤服務(wù)器被重定向。