性能優化的目的:
-
增強用戶體驗。但是這樣說很虛,具體來說可以是:
1.1. 加快頁面展示速度(慢)
1.2. 加快頁面運行速度(卡)
節約服務器帶寬流量
減少服務器壓力
一個網頁的大概流程:
1、到DNS上查詢
2、然后發送請求
3、等待服務器響應
4、下載服務器響應內容
5、解析HTML、CSS、JS等
6、渲染HTML、CSS、JS、圖片等
7、響應用戶點擊事件
1、 DNS 查詢——減少網頁所用的域名個數,可以減少 DNS 查詢的時間
2、 發送請求——添加緩存、合并文件,都可以減少請求數量
3、等待服務器響應——這一步的優化只能是在 MySQL 和后臺方面做考慮了
4、下載服務器響應內容——添加 Etag、Expires 響應頭,得到 304 響應,可以降低下載量
5、解析 HTML、CSS、JS 等——去掉無用的 HTML、CSS 和 JS 即可減少解析時間
6、渲染 HTML、CSS、JS 和圖片等——避免使用低效的 HTML、CSS 和 JS 即可
7、 響應用戶的點擊事件等——盡量不在前端做復雜的運算等……
性能優化:
html部分,標簽語義化、正確的html結構
css部分,圖片整合,css選擇器的使用
js部分,減少全部變量的使用,高性能js代碼
減少http請求次數;減少dom操作,再發布之前將js和css文件進行壓縮合并等。
一個HTTP報文由3部分組成,分別是:
(1)、起始行(start line)
(2)、首部(header)
(3)、主體(body)
就是客戶端向服務器端發送請求,然后服務器端響應回來
兼容:
IE和標準下有哪些兼容性的寫法
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
var target = ev.srcElement||ev.target