效能提公升的14條規則(九)

2022-06-10 19:57:07 字數 1202 閱讀 7160

規則9——減少dns查詢

internet是通過ip位址來查詢伺服器的。由於ip位址很難記憶,通常使用包含主機名的urllai 來取代它,但當瀏覽器傳送其請求時,ip位址仍然是必需的。這就是domain name system(dns)所處的角色。dns將主機名對映到ip位址上,就像**本將人名對映到他們的**號碼一樣。當你在瀏覽器中鍵入www.yahoo.com時,連線到瀏覽器的dns解析器會返回伺服器的ip位址。

這個解釋搶到了dns——url和實際宿主它們的伺服器之間的乙個間接層——的另外一項優點。如果乙個伺服器被另外乙個具有不同ip位址的伺服器取代了,dns允許使用者使用同樣的主機名來連線到新的伺服器。或者,比如在www.yahoo.com的例子中,可以將多個ip位址關聯到乙個主機名,為**提供高冗餘度。

dns快取和ttl

dns查詢可以被快取起來以提高效能。這種快取可以發生在由你的isp或區域網中的一台特殊的快取伺服器上,但我們這裡要探索的是發生在獨立使用者的計算機上的dns快取。如果,在使用者請求了乙個主機名後,dns資訊會留在作業系統的dns快取中(microsoft windows 上的「dns client服務」),之後對於該主機名的請求將無需進行過多的dns查詢,至少短時間內不需要。

夠簡單把?——很多瀏覽器擁有其自己的快取,和作業系統的快取相分離。只要瀏覽器在其快取中保留了dns記錄,它就不會麻煩作業系統來請求這個記錄。只要當瀏覽器快取丟棄了記錄時,它才會向作業系統詢問位址——然後作業系統或者通過其快取來相應這個請求,或者將請求傳送給一台遠端伺服器,這時就會發生潛在的速度降低。

使事情更複雜的是,設計者知道ip位址會變化以及快取會消耗記憶體。因此,應該周期性地清楚快取中的dns記錄,並通過大量不同的配置設定檢車清楚的頻率有多高。

影響dns快取的因素

首先,伺服器可以表明記錄可以被快取毒酒。查詢返回的dns記錄包含了乙個存活時間(time-to-live,ttl)值。該值告訴客戶端可以對該記錄快取多久。

儘管作業系統快取會考慮ttl值,但瀏覽器通常忽略該值,並設定它自己的時間限制。只要瀏覽器和web伺服器愉快地通訊著,並保持著tcp連線開啟的狀態,就沒有理由進行dns查詢。

瀏覽器對快取的dns記錄的數量也有限制,而不管快取記錄的時間。如果使用者在短時間內訪問了很多具有不同網域名稱的**,較早的dns記錄,作業系統可能依然保持著該記錄,這能扭轉一下局面,因為無需通過網路傳送查詢,從而避免了明顯的延遲。

效能提公升的14條規則(三)

規則3 新增expires頭 在設計web頁面的時候,首次訪問的響應時間並不是唯一需要考慮的。如果是這樣的話,我們可以將規則1發揮到極致,並且不再頁面上放置任何 指令碼和樣式表。然而,我們都知道,指令碼和樣式表能夠加強使用者體驗,儘管這意味著頁面需要花更長的時間進行載入。這一章介紹的規則3展示了如何...

前端效能優化 14 條規則

前端優化的 準則指導著前端頁面的優化策略 只有10 20 的終端使用者響應時間花在接受請求的html文件上,剩下的80 90 時間花在為html文件所引用的所有元件 指令碼 樣式表等 進行的http請求上。因此,改善響應時間的最簡單途徑就是減少元件的數量,並由此減少http請求的數量。當然很多人就會...

Web前端效能優化的14條規則

部落格分類 web前端測試 1.減少http請求 條件get請求每次都會產生乙個304的請求 4.壓縮元件 在server端對response資源進行壓縮再傳給瀏覽器,一般使用gzip 5.將css放再頂部 能加快頁面內容顯示,並且能避免頁面產生白屏 6.將js放在底部 7.避免css表示式 8.將...