做(zuò)好前端網頁優化(huà),讓你的(de)網站浏覽量爆滿

對(duì)于一個(gè)網站來(lái)說,這(zhè)個(gè)原則也(yě)是适用(yòng)的(de),即使你有豐富而有價值的(de)内容,但是顧客半天都進不來(lái),他(tā)們會慢(màn)慢(màn)失去耐心。

尤其是在這(zhè)個(gè)信息爆炸的(de)時(shí)代,人(rén)們的(de)節奏總是很快(kuài)。畢竟,網站的(de)耐心是有限的(de)。如果不優化(huà)網站,會造成相當數量的(de)客戶流失,帶來(lái)不必要的(de)損失。那麽,優化(huà)web前端性能的(de)常用(yòng)和(hé)實用(yòng)方法有哪些呢(ne)?

CDN(内容分(fēn)發網絡)部署在各大(dà)運營商的(de)機房(fáng)内。當用(yòng)戶通(tōng)過浏覽器請求資源時(shí),可(kě)以直接反饋給用(yòng)戶,大(dà)大(dà)減輕了(le)服務器數據中心的(de)壓力。本質上,CDN也(yě)是一種緩存。如果您的(de)位置靠近CDN節點,那麽網站響應速度也(yě)非常明(míng)顯。另外,CDN緩存的(de)資源主要是靜态資源,比如靜态頁面、圖片、CSS和(hé)JS文件。CDN加速對(duì)于一些覆蓋範圍廣的(de)網站是最有效的(de)。比如阿裏雲CDN産品有280多(duō)個(gè)節點,運營商覆蓋範圍比較全面。

網頁的(de)加載時(shí)間與HTTP請求密切相關,而外部資源的(de)加載速度則與主機服務提供商服務器架構和(hé)分(fēn)發位置有關。我們可(kě)以通(tōng)過檢查網站上的(de)冗餘圖片、CSS、JavaScript和(hé)一些組件,并逐一改進來(lái)減少一些HTTP請求。

顧名思義,預訪問就是在獲得(de)一些必要的(de)數據和(hé)資源之前,真正需要請求,以改善用(yòng)戶的(de)浏覽體驗。預訪問主要有三種方式:鏈路預采集、DNS預采集和(hé)預渲染。根據您想要使用(yòng)的(de)預取形式,您隻需将以下(xià)标記添加到站點的(de)鏈接屬性:rel=prefetch、rel=DNS prefetch或rel=prerender。

壓縮HTML、CSS和(hé)JavaScript

在編寫代碼時(shí),會有一些額外的(de)空間,這(zhè)将占用(yòng)字節。使用(yòng)一些壓縮工具可(kě)以有效地解決這(zhè)個(gè)問題。值得(de)注意的(de)是,文件壓縮後,可(kě)讀性會變差,以後的(de)維護也(yě)會變得(de)困難。

一個(gè)高(gāo)清晰度的(de)圖像大(dà)約有幾兆字節,而且很多(duō)時(shí)候我們并不需要這(zhè)樣的(de)圖像質量。一般情況下(xià),我們會選擇保存爲高(gāo)質量的(de)圖片,這(zhè)樣可(kě)以有效降低圖片加載的(de)壓力。像JPEG圖像一樣,它包含時(shí)間、地點、相機型号格式,更不用(yòng)說我們需要什(shén)麽了(le)。

無法在客戶端中緩存Post請求。每個(gè)請求都需要發送到服務器進行處理(lǐ),每次都會返回一個(gè)狀态碼200。(可(kě)以在服務器端緩存數據以提高(gāo)處理(lǐ)速度)

Get請求可(kě)以(默認情況下(xià))緩存在客戶機上。除非指定了(le)不同的(de)地址,否則具有相同地址的(de)AJAX請求将不會在服務器上重複執行,而是返回304。因此,在發出Ajax請求時(shí),可(kě)以選擇盡可(kě)能多(duō)地使用(yòng)get方法,這(zhè)樣就可(kě)以使用(yòng)客戶機的(de)緩存來(lái)提高(gāo)請求速度。