嘗試合并圖片,CSS和JS。例如,如果你加載一個頁面,如果有5個CSS文件,你會發送5個HTTP請求,這會讓用戶在_次訪問你的頁面時等待很長時間。如果將這五個文件合并成一個文件,只需發送一次HTTP請求,就可以節省網絡請求時間,加快頁面加載速度。
網站上的靜態資源(CSS、JS)都是CDN發布的,圖片也是。
當link標記的屬性為空,腳本標記的SRC屬性為空時,瀏覽器在呈現時將當前頁面的URL作為其屬性值,從而加載頁面內容作為其值。所以我們應該避免這種疏忽。
Gzip可以壓縮任何文本類型的響應,包括HTML、XML、JSON。大大減少了請求返回的數據量。
網頁上的資源是從上到下加載的,因此CSS被放在頁面的頂部,首先呈現頁面,這讓用戶感覺頁面加載很快。
加載JS時,后續資源將被阻塞。必須等到JS加載后才能加載后續文件。因此,JS被放在頁面的底部并終加載。
這涉及到CSS和JS的壓縮?,F在有很多壓縮工具。主流的基本前端構建工具可以壓縮CSS和JS文件,如grunt、GLUP等。
除了添加額外的HTTP請求,多個操作也會浪費時間。在IE和Firefox中,無論腳本是否可緩存,它們都存在反復計算JavaScript的問題。
它用于確定瀏覽器緩存中的元素是否與原始服務器上的元素一致。它比上次修改日期更靈活。例如,如果一個文件在一秒鐘內被修改10次,Etag可以通過結合inode(inode個數)、mtime(修改時間)和size來準確判斷,避免了UNIX記錄mtime只能準確到秒的問題。兩個參數可用于服務器群集。利用etag降低web應用的帶寬和負載
當使用XMLHttpRequest時,瀏覽器中的post方法是兩個步驟的過程:首先發送頭,然后發送數據。因此,使用get來獲取數據更有意義。