HTTP事務所須要的步驟:web
接下來,瀏覽器與遠程Web服務器經過TCP三次握手協商來創建一個TCP/IP鏈接,相似對講機的Over(完畢) Roger(明白)瀏覽器
TCP/IP模型服務器
TCP即傳輸控制協議(Transmission Con-trol Protocol)網絡
一旦TCP/IP鏈接創建,瀏覽器會經過該鏈接向遠程服務器發送HTTP的GET請求架構
遠程服務器找到資源並使用HTTP響應返回該資源,經常使用的有:ide
•200表示來自服務器的成功響應; •404意味着服務器沒有找到請求的資源;•500表示執行請求時發生了錯誤。模塊化
IPv4和IPv6協議規定一個IP包的最大值爲65535字節,將你的總頁面大小轉化爲字節數,再除以最大IP包的字節值獲得服務器的響應次數函數
頁面中的每一項資源——每個圖片、外部JavaScript文件和CSS文件,都須要從服務器到本地走個來回。每項資源的請求都會開啓一個新的線程和一個新流程(flow)實例,而每個實例又會產生DNS查詢、TCP鏈接、HTTP請求和響應工具
1.2 解析與渲染性能
瀏覽器解析和呈現Web頁面架構(下圖) 瀏覽器架構處理UI(用戶界面)的代碼(包括了地址欄和回退(history)按鈕),用於解析和繪製頁面中全部對象的渲染引擎,解釋Javascript的JavaScript引擎,以及一個處理HTTP請求的網絡層
瀏覽器是自上而下讀取內容的,所以放置資源的位置會影響網站的訪問速度,若是將JavaScript標籤放在HTML內容的前邊,瀏覽器就會先調用JavaScript解釋器對JavaScript進行解析,完成以後纔會渲染其他的HTML內容
1.2.1 渲染引擎
瀏覽器架構能夠劃分爲多個模塊,一直以來,瀏覽器製造商也是經過組合模塊來構造瀏覽器的
Chrome和Safari使用Webkit渲染引擎http://www.webkit.org/
1.2.2 JavaScript引擎
JavaScript解釋器也應用了模塊化這一律念,也能夠嵌入到其餘工具中
Firefox的SpiderMonkey
Chrome的V8
1.3 運行時性能
所謂運行時(runtime)是指應用程序執行或運行的時長。運行時性能是指應用程序運行時對用戶輸入的響應速度(好比保存特性或訪問DOM中的元素時)
第2章 測量和影響性能的工具與技術
2.1 Firebug
2.2 YSlow
若要更深刻地分析網頁性能,可使用YS-low,能夠移植到大多數瀏覽器上http://yslow.org/,Google曾經開發了Page Speed相似於YSlow的產品
2.3 WebPagetest
http://www.webpagetest.org/
WebPagetest是一款Web應用程序,它將一個URL以及一系列配置參數做爲輸入,並對那個URL運行性能測試。WebPagetest可配置參數的數量很是多,範圍很是廣
2.4 縮減
須要縮減JavaScript
2.4.1 Minify
http://code.google.com/p/minify/
Minify,讀入JavaScript文件的URL。Minify剔除掉沒必要要的字符,並設置響應頭(response header)爲gzip編碼格式,返回結果給script標籤,並將結果加載到瀏覽器,要使用Minify,只須要從http://code.google.com/p/minify/網站上將它下載下來,將其解壓縮至/min文件夾並放到Web網站根目錄下,而後到/min/builder/目錄下打開Minify控制面板。在控制面板中,能夠添加你想要縮減的JavaScript文件,頁面生成可連接到JavaScript文件縮減後的腳本標籤
2.4.2 YUI Compressor
另外一個用於縮減的工具是Yahoo的YUI Com-pressor,能夠在這裏找到它:http://yuili-brary.com/download/yuicompressor/
2.4.3 Closure Compiler https://developers.google.com/closure/com-piler/ 它不只縮減了JavaScript,並且經過重寫進一步壓縮了JavaScript 優化策略——它將函數展開,重寫變量名,刪除從不會調用的函數(只要它能判斷)
2.5 R入門
http://cran.r-project.org/ 使用R進行數據可視化準
之後再填這個坑