前面說過,用戶感覺的響應時間是取決於諸多因素的,咱們幾乎不能獲得真實的用戶響應時間。對於Web應用前端性能的研究也不是爲了準備獲得一個響應時間,其性能一部分取決於Web服務器和應用服務器(下載資源,執行等),另外一部分取決於瀏覽器的實現機制、界面JS文件的執行等,因此咱們討論前端性能的目的是減小總的響應時間,或者說讓用戶「感受很快」。前端
1、與前端性能相關的頭信息數據庫
a)Accept-Encoding:編碼方式。是否支持壓縮,支持何種格式的壓縮;瀏覽器
b)Connetion:鏈接。是否持久鏈接;緩存
c)Expires:返回數據的到期時間。與瀏覽器的緩存機制有關,此處不細說,詳情請看http相關的頭域說明;服務器
2、瀏覽器從輸入URL開始到頁面徹底可用的大體過程網絡
a)鏈接到URL所在服務器;併發
b)獲取頁面對應的HTML文檔;前端性能
c)解析文檔並獲取所須要的資源;工具
d)頁面上的JS文件與CSS文件;性能
e)onload事件。
3、提升前端性能的經常使用方法
從第二點的過程來看,主要有兩大思路:
①減小頁面加載所須要的時間:從請求的數據、請求的併發度以及網絡傳輸時間等方面着手;
②提高用戶的觀感,讓用戶以爲頁面很快:讓頁面儘快開始顯示着手。
3.1 減小網絡時間
①.使用DNS緩存技術
②.減小須要傳輸文件的尺寸
③.加快文件傳輸速度
3.2 減小發送的請求數量
①.利用瀏覽器緩存
②.使用合併的圖片文件
3.3 提升瀏覽器下載的併發度
①.JS文件放在HTML文檔的最後
②.使用多個域名
3.4 讓頁面儘早開始顯示
①.將樣式表的引用放在HTML文檔的開頭(如放在<Head>標籤中)
②.將JS的引用放在HTML文檔的最後
--------------------------------------------------------------分割線--------------------------------------------------------------
對於協助測試前端性能的工具,有HttpWatch、Chrome自帶的開發者工具(F12)、Page Speed工具、YSlow等。我用過一段時間的YSlow,操做很簡單,並且也會給出優化前端性能的建議,有興趣的看客不凡去試試。安裝包大概須要點百度功底,教程的話,百度便可,看一遍就懂了。對於性能測試,咱們平時更多的仍是針對服務器、數據庫等,此文記錄純爲了解,開拓自身眼界。
____江湖沒什麼好,也就酒還行