web前端性能優化主要分爲如下幾個板塊:javascript
加載優化css
圖片優化前端
腳本優化java
HTML優化web
css優化chrome
渲染優化canvas
重點提示:瀏覽器
首屏加載緩存
首屏的快速顯示,能夠大大提高用戶對頁面速度的感知,所以應儘可能針對首屏的快速顯示作優化,好比使用Loading等待動畫、服務器渲染首屏(同構)...性能優化
DNS預解析
DNS 做爲互聯網的基礎協議,其解析的速度彷佛容易被網站優化人員忽視。如今大多數新瀏覽器已經針對DNS解析進行了優化,典型的一次DNS解析耗費20-120 毫秒,減小DNS解析時間和次數是個很好的優化方式。DNS Prefetching是具備此屬性的域名不須要用戶點擊連接就在後臺解析,而域名解析和內容載入是串行的網絡操做,因此這個方式能減小用戶的等待時間,提高用戶體驗。
瀏覽器對網站第一次的域名DNS解析查找流程依次爲:
瀏覽器緩存-系統緩存-路由器緩存-ISP DNS緩存-遞歸搜索
DNS預解析的實現:
<meta http-equiv="x-dns-prefetch-control" content="on" />
複製代碼
<link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />
複製代碼
示例
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="http://mat1.gtimg.com"/>
<link rel="dns-prefetch" href="http://tajs.qq.com" />
複製代碼
注:dns-prefetch需慎用,多頁面重複DNS預解析會增長重複DNS查詢次數。
PS:DNS預解析主要是用於網站前端頁面優化,在SEO中的做用湛藍還未做驗證,但做爲加強用戶體驗的一部分rel="dns-prefetch"或許值得你們慢慢發現。