亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 優化推廣 > 正文

網站Web端訪問性能提升技巧總結

2024-04-26 14:21:41
字體:
來源:轉載
供稿:網友

《高性能網站建設指南》這本書里為Web性能提升設置了14條規則:
1.盡量減少 HTTP 請求
2.使用 CDN
3.添加 Expires 頭
4.采用 Gzip 壓縮組件
5.將樣式表放在頂部
6.將腳本放在底部
7.避免 CSS 表達式
8.使用外部的 javascript 和 CSS
9.減少 DNS 查詢
10.精簡 javascript
11.避免重定向
12.刪除重復的腳本
13.配置 ETag
14.使 Ajax 可緩存
下面是一些基本總結:

一、 理解 Ajax 性能
做性能優化時,不要浪費時間去嘗試為那些不消耗大量時間的代碼提速。
通常瀏覽器在運行javascript上花費的時間很少,絕大部分時間消耗在 DOM 上。
Ajax 提供了取代頁面替換的有效方案,善加利用 Ajax 能使應用程序運行的更快。

二、 創建快速響應的 WEB 應用
如何定義快速呢?
javascript 代碼執行時間超過 0.1 秒,頁面會給人不夠平滑快捷的感覺;執行時間超過 1秒,則會感到應用程序緩慢;超過 10 秒,用戶會非常沮喪。
javascript 是單線程的!
在頁面上任何開銷很大的(例如,長時間運行)javascript 操作都應該委托給 Web Worker。
在 XMLHttpRequest 的異步模式中,XHR 實質上就是一個擁有專用 API 的 Web Worker。
內存對響應時間的影響:
1.在 GC 執行回收時,會凍結整個運行環境,直到遍歷完整個創建對象的“堆”。隨著應用程序內存占用的增加,遍歷整個堆去查找用戶不再使用的對象所需要的時間最終會引起用戶的注意。
2.網頁內存需求增長到足夠大,迫使操作系統開始內存分頁,系統把內存頁從物理內存轉移到虛擬內存(例如從 RAM 到硬盤)。
如果確定內存有問題,可以通過以下兩種方式清理內存:
1.使用 delete 關鍵字從內存中移除不再需要的 javascript 對象
2.從 DOM 樹中移除不再是必須的節點

三、拆分初始化負載
可以把 javascript 代碼拆分到不同的組,第一組包含初始化頁面所必須的函數,剩下的則在這些代碼需要執行時按需加載它們,或者等到初始化的那些 javascript 代碼加載完畢時再加載。

四、 無阻塞加載腳本
瀏覽器在下載和解析 javascript 腳本時,不僅會阻塞頁面中其他內容的下載,還會阻塞腳本后面所有元素的渲染。
瀏覽器在下載和執行腳本時出現阻塞的原因在于,腳本可能會改變頁面或 javascript 的命名空間。
很顯然 javascript 腳本沒有必要按順序下載,這方面 IE8 走在了前面,IE8 是第一個支持腳本并行下載的瀏覽器。
下面列出異步加載腳本的技術:
1.XHR eval:該技術用過 XHR 從服務器獲得腳本,然后通過 eval 執行腳本內容。
2.XHR 注入:類似于 XHR eval,但是與 eval 不同的是,該機制是通過創建一個 script 的 DOM 元素,然后把 XHR 的響應注入到 script 中執行 javascript。
3.Script DOM Element:該技術使用 javascript 動態創建 script DOM 元素并設置其 src 屬性。下載過程中用這種方式創建腳本不會阻塞其他組件。和前面的技術相比,該技術允許跨域獲取腳本。
4.Script defer 屬性:HTML 4 為 script 標簽定義了一個擴展屬性:defer。帶有 defer 屬性的 JavaScript 文件下載時,它不會阻塞瀏覽器的其他進程,因此這類文件可以與其他資源文件一起并行下載。帶有 defer 屬性的 script 標簽可以放置在文檔的任何位置。對應的 JavaScript 文件將在頁面解析到 script 標簽時開始下載,但不會執行,直到 DOM 加載完成,即onload事件觸發前才會被執行。但是,defer 屬性只被 IE 4 和 Firefox 3.5 更高版本的瀏覽器所支持,所以它不是一個理想的跨瀏覽器解決方案。
Script async 屬性:HTML 5 為 script 標簽定義了一個新的擴展屬性:async。它的作用和 defer 一樣,能夠異步地加載和執行腳本,不因為加載腳本而阻塞頁面的加載。但是有一點需要注意,在有 async 的情況下,JavaScript 腳本一旦下載好了就會執行,所以很有可能不是按照原本的順序來執行的。如果 JavaScript 腳本前后有依賴性,使用 async 就很有可能出現錯誤。

五、 布置行內腳本
在樣式表后面的行內腳本會阻塞所有后續資源的下載,解決該問題的方法是調整行內腳本的位置,使其不出現在樣式表和任何其他資源之間。

六、 編寫高效的 javascript
盡量避免使用會增長作用域鏈的結構,比如使用 with 語句和 try-catch 語句中的 catch 從句。如果非局部變量的使用超過一次,那么為了降低性能損耗,應該把它存儲到一個局部變量中。例如,如果函數中多次訪問處于作用域鏈底層的document,可以把 document 賦值給一個局部變量,從而減少降低在作用域鏈中搜索變量的時間。
存儲和讀取數據的方式對腳本的性能影響很大。局部變量和字面量總是最快的,存取數組元素和對象屬性會引起性能損耗。如果數組元素或對象的屬性使用超過一次,那么為了提高存取速度,應該把它存儲到一個局部變量中。
在 javascript 中,循環經常成為性能瓶頸,為了使循環高效,可以使用倒序的方式來處理元素,即在控制條件中,將迭代變量和 0 作比較。
流控制也是影響腳本執行速度的一個重要因素。if 語句適用于少量離散值或一段區間值的判斷;switch 語句最好用于 3~10 個離散值的判斷。
謹慎的使用 DOM 中的 HTML nodelist 對象,每次存取這類對象的屬性,都會重新查詢 DOM 中的匹配節點。為了避免這種高昂的開銷,只有必要時才存取 nodelist 對象,并將經常存取的值存儲在局部變量中。例如,當用 for 遍歷通過 getElementsByTagName 得到的 nodelist 對象時,應該把 nodelist 的 length 賦值給一個局部變量。
如果 javascript 代碼運行時間過長,可以使用定時器把任務拆分執行。

七、 超越Gzip壓縮
所有的瀏覽器都支持 Gzip壓縮,并可以通過添加 Accept-Encoding 的 http 頭來向 web 服務器聲明支持壓縮:
Accept-Encoding: gzip, deflate
當請求中包含這個頭時, web 服務器就會開啟 Gzip 壓縮功能。

八、 圖像優化
各種圖片格式介紹
GIF:
1.只支持二進制透明(要么完全透明,要么完全不透明)
2.支持動畫
3.是無損格式
4.gif 有 256 色的限制,不適合顯示照片
JPEG:
1.不支持透明
2.不支持動畫
3.是有損格式,壓縮比很高,適合顯示照片
PNG:
1.支持 alpha 透明
2.不支持動畫
3.是無損格式
4.不是動畫時,應該盡可能 使用 png8(調色板png) 代替 gif。
圖像優化建議
1.首先要選擇合適的格式:用 jpeg 保存照片,用 gif 保存動畫,其他所有圖像用 png 保存,并且盡量使用 png8
2.不要在 html 中對圖像進行縮放
3.不要忘了 favicons
4.使用并優化 css sprite

九、 劃分主域
IE6、7等老瀏覽器把從同一個服務器并行下載的資源數限制為2個,IE8、firefox和chrome增加到了6個。
瀏覽器執行 “每個服務器端最大連接數” 的限制是根據 URL 上的主機名,而不是解析出來的 IP 地址。
可以把網頁中的資源放在不同的服務器上,加速資源的下載。

十、 少用 iframe
使用 iframe 會帶來的問題:
iframe 是開銷最高的 DOM 元素,創建 iframe 的開銷比創建其他類型的 DOM 元素要高 1~2 個數量級。
使用 iframe 會阻塞頁面的 onload 事件,延長了瀏覽器的忙指示。
雖然 iframe 是一個完全獨立的文檔,瀏覽器也會共享對每個瀏覽器的受限連接數(IE8、chrome為6個)

十一、 簡化 CSS 選擇符
CSS 的選擇符類型(從開銷最小到最大排序):
1.ID 選擇符#
2.類選擇符.
3.類型選擇符
4.相鄰兄弟選擇符 +
5.子選擇符
6.后代選擇符
7.通配符選擇符
8.屬性選擇符
9.偽類

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清在线播放| 国产精品综合网站| 成人福利免费观看| 91在线精品播放| 成人欧美一区二区三区黑人孕妇| 国产一区二区三区视频在线观看| 亚洲欧美国产精品va在线观看| 国产精品国产三级国产aⅴ浪潮| 亚洲乱码一区av黑人高潮| 久久亚洲影音av资源网| 亚洲精品一区中文字幕乱码| 伊人伊成久久人综合网站| 国产亚洲一区精品| 国产精品免费视频久久久| 日本久久久久久久| 国产精品69av| 2019中文字幕在线| 久久影视电视剧免费网站清宫辞电视| 国产一区二区三区日韩欧美| 国产精品欧美一区二区三区奶水| 欧美一区二区三区图| 日韩在线欧美在线| 欧美激情中文字幕乱码免费| 国产精品电影一区| 欧美丝袜美女中出在线| 热久久免费视频精品| 亚洲欧美日韩图片| 91久久久久久久一区二区| 亚洲精品自拍偷拍| 91亚洲国产精品| 国产亚洲在线播放| 日韩欧美国产中文字幕| 九九九热精品免费视频观看网站| 91精品视频免费看| 91美女片黄在线观| 2019国产精品自在线拍国产不卡| 久久综合国产精品台湾中文娱乐网| 欧美xxxx做受欧美| 国产欧美精品日韩精品| 成人免费看黄网站| 国产精品com| 欧美激情国产日韩精品一区18| 色视频www在线播放国产成人| 亚洲第一精品电影| 亚洲国产又黄又爽女人高潮的| 久久精品中文字幕电影| 欧美亚洲国产精品| 国产精品成人aaaaa网站| 综合激情国产一区| 亚洲大胆人体视频| 岛国av一区二区在线在线观看| 国产亚洲精品一区二555| 精品无人区太爽高潮在线播放| 色777狠狠综合秋免鲁丝| 国产一区二区日韩精品欧美精品| 久久久久久久久久久人体| 欧美小视频在线| 久久久国产一区二区| 欧美性猛交xxxx黑人| 96pao国产成视频永久免费| 成人久久18免费网站图片| 亚洲欧美在线免费观看| 久久成人精品一区二区三区| 欧美精品久久久久a| 亚洲曰本av电影| 亚洲一区二区精品| 久久免费精品日本久久中文字幕| 国产精品第2页| 国产精品日韩专区| 国产精品91在线观看| 久久精品99无色码中文字幕| 国产日韩在线亚洲字幕中文| 亚洲国产精品人人爽夜夜爽| 亚洲午夜av久久乱码| 亚洲欧美日韩中文视频| 国产精品美女www爽爽爽视频| 国产精品一区二区三区久久久| 最新69国产成人精品视频免费| 久久精品国产免费观看| 久久久精品久久久久| 久久影视电视剧免费网站清宫辞电视| 日韩久久免费电影| 久久久久久久久91| 国产亚洲一级高清| 日韩av日韩在线观看| 欧美高清理论片| 国产精品999| 欧美刺激性大交免费视频| 色偷偷av一区二区三区| 夜夜嗨av一区二区三区四区| 欧美黑人狂野猛交老妇| 亚洲视频第一页| 午夜精品久久久久久久99热浪潮| 夜夜嗨av一区二区三区免费区| 国产91精品高潮白浆喷水| 91在线国产电影| 国产精品自拍偷拍| 国产精品偷伦一区二区| 欧美在线影院在线视频| 成人在线激情视频| 精品呦交小u女在线| 国产精品三级美女白浆呻吟| 久久琪琪电影院| 日韩av免费一区| 亚洲欧美在线一区二区| 国内精品久久久久久久久| 精品欧美国产一区二区三区| 日韩av在线免费观看一区| 亚洲综合日韩中文字幕v在线| 欧美中文字幕在线视频| 国产a级全部精品| 国产精品久久久久久久久久久久久| 92看片淫黄大片欧美看国产片| 亚洲精品国偷自产在线99热| y97精品国产97久久久久久| 亚洲国产又黄又爽女人高潮的| 成人国产精品免费视频| 亚洲激情电影中文字幕| 亚洲精品第一页| 色爱av美腿丝袜综合粉嫩av| 欧洲成人在线观看| 国产成人涩涩涩视频在线观看| 亚洲电影中文字幕| 久久精品国产91精品亚洲| 亚洲第一页自拍| 亚洲图片欧美日产| 国语自产精品视频在线看抢先版图片| 国产一区私人高清影院| 欧美在线观看网站| 日韩毛片中文字幕| 国内精品久久久久伊人av| 久久久亚洲天堂| 日本伊人精品一区二区三区介绍| 成人午夜在线影院| 国产a级全部精品| 欧美在线性爱视频| 懂色av影视一区二区三区| 欧美交受高潮1| 亚洲视频国产视频| 日韩欧美中文字幕在线观看| 欧美国产在线视频| 青青草原成人在线视频| 色婷婷av一区二区三区在线观看| 日韩在线观看成人| 黄色一区二区在线观看| 最近的2019中文字幕免费一页| 国产在线日韩在线| 亚洲精品成人久久| 国产精品成人av性教育| 亚洲精品欧美一区二区三区| 亚洲国产精品字幕| 日韩中文有码在线视频| 久久国产精品99国产精| 色噜噜亚洲精品中文字幕| 性日韩欧美在线视频| 国产精品久久久久久久久久免费| 欧美日韩国产精品| 久久久精品美女| 欧日韩不卡在线视频| 亚洲欧洲午夜一线一品| 久久成人一区二区| 日韩一区视频在线| 欧美激情视频网站| 国产欧美一区二区|