viewsource和viewparsed_Network Panel說明

一、chrome Developer Tools:Network Panel

從網絡面板中可以獲取很多有用信息,如詳細的時間數據,http請求頭響應頭,cookies,WebSocket數據。

通過分析這些數據,可以知道哪個資源加載耗時最久,誰發起的網絡請求,這些對性能優化很有幫助。

這些數據的獲取都是通過一個api來完成的,Resource Timing API。

我們不需要知道它的實現原理,只要知道它能提供什么數據即可。

這些數據也可通過chrome瀏覽器的window.performace對象獲取,如下

二、Network Panel概況

network監控網頁中所有的http請求,一行代表一個http請求,每個字段代表請求的不同屬性和狀態。

1、切換面板行的信息量(橫向)。

點擊按鈕

精簡顯示信息,點擊按鈕

顯示全部信息。

顯示全部信息時包括主要的域和次要的域(如下圖紅色框中的Time和Latency),精簡時就只顯示主要的域(如下圖中紅色框中Time)。

2、增刪網絡面板的列(縱向)。

一條資源的請求就是一行,包括很多列參數,默認如下。

Name?and Path:請求資源的名稱和路徑

Method :請求方法,常用get,post

Status?and Text:HTTP狀態碼和文本信息

Domain:請求資源的域名

Type:請求資源的MIME類型

Initiator:發送請求的對象(如Parser,Redirect,Script,Other)

比如下圖中請求menu.css的資源的Initiator顯示為(index):650[paraser],表示該css文件是從首頁html的第650行中解析出來的,查看源代碼可以看到這行是一個標簽去請求menu.css資源。

有的資源的Initiator一列為Script,表示該資源是通過某js文件加載的。

cookies:請求帶了多個條cookies,cookie數在請求詳情中也可以看到。

Size?and content:size是http請求傳輸的真實大小,包括響應頭和響應體;content表示響應體解壓后的大小(如果有壓縮的話,一般為gzip壓縮)。如果采用了gzip編碼傳輸,一般情況content比size大,否則content小于size。如果資源是從瀏覽器緩存加載的而不是通過網絡獲取,則content為?from cache。

比如下圖這個js請求,size為64.7kb,content為201kb,說明請求該資源時服務器采用壓縮傳輸,大小為64.7kb,可以點擊查看資源詳情,在Headers里可以看到Content-Encoding:gzip采用gzip壓縮傳輸。瀏覽器解壓后真正的內容大小為201kb,這樣可以減少服務器帶寬壓力。

Time?and Latency:Time表示發送請求到接收響應的最后一個字節所花的實際,即請求一個資源花的總時間,Latency表示從發送請求到接收響應的第一個字節所花的時間,即延遲。由此可見,Time減去Latency就反應帶寬問題了,包括客戶端和服務器帶寬。

Timeline:整個請求過程時間軸,可以看出時間到底花在哪里了。

默認只顯示部分列的信息,在標頭右鍵出來一個列表,打對勾的就是展示的,去掉對勾就好在網絡面板的表格中刪掉這一列。

3、請求排序

請求默認按請求開始時間排序,為對Size和Time的排序是非常常用的,一眼可以看出哪個請求比較耗資源。

隊Timeline的排序可以有多個選項:

Timeline,默認值,按每個http請求的start time排序,同Start Time。

Start Time,同Timeline排序。

Response Time,按http請求的response time排序。

End Time:按http請求的

Duration:按請求花費總時間排序。

Latency:請求開始到接收響應的第一個字節的這段時長(即TTFB—time to first byte)排序。

4、保留歷史log

跳轉時想保留之前的日子,用preserve log選項。如果不勾選,每次刷新log就沒了,勾選上Preserve log,每次刷新都會保留log,比如刷新3次就會有三次請求的log。頁面跳轉到其他地址log也會保留。

5、一條請求詳情

單擊任意一條http請求,可查看詳情。

HTTP request and response?Headers:包括request URL,HTTP method,response 狀態碼等。可以通過切換view parsed/view source查看格式化的http headers和原始信息。

Resource?Preview:可以預覽圖片或者格式化過的JSON信息。

HTTP?Response:返回未格式化的的原始信息。

Cookies?names and values:包括Request cookies和Response cookies。

Resource network?Timing:請求到響應的時間分布。

6、請求過濾

只顯示指定類型請求,如img,css,js等。

漏斗形的按鈕,意思是是否啟用過濾信息選項。啟用后可在下面一列中篩選(Hide data URLS,XHR,JS,CSS等)。

更高級點,可以進行請求查詢,即在前面的輸入框中輸入相應的字符對http信息進行匹配。比如輸入Status-code:200篩選出狀態碼為200的請求。

查詢的時候,輸入的信息包括type(StatusCode)和value(200)。瀏覽器會給出自動補全提示,按上下箭頭或tab選擇。

還可以通過在查詢條件前面加上“-”來進行反選。如下圖,在status-code前面加了負號,就可以篩選出所有狀態碼不是200的請求。

一些可用的過濾類型如下:

domain:比如www.google-analytics.com

has-response-header:比如Access-Control-Allow-Origin

is:比如running

larger-than:比如larger-than:50,?larger-than:150k,?larger-than:2m

method:比如GET

mime-type:就是Content-type,比如text/html

scheme:比如https

set-cookie-name:比如有一個cookie為loggedIn=true,可通過loggedIn篩選

set-cookie-value:比如有一個cookie為loggedIn=true,可通過true篩選

set-cookie-domain:

status-code:比如200

7、禁用緩存

勾選Disable cache選項,可禁用緩存,所有的狀態碼為304的請求和size為from cache的請求變成正常請求。

8、一個請求花費具體時間分析

以請求imagemap.php為例。

消耗時間總共711.41ms,包括2部分Connection Setup和Request/Response:

(官方的一個更全的圖如下)

Connection Setup:建立與服務器的連接。具體包括Queueing和Stalled...。

Queueing:不是太清楚,好像是在本地防火墻的等待時間,或者是某些插件攔截時間。

Stalled:網絡延時。指瀏覽器得到要發出這個請求的指令,到請求可以發出的等待時間。一般是代理協商、以及等待可復用的TCP連接釋放的時間,不包括DNS查詢、建立TCP連接時間等。

Proxy Negotiation:與代理服務器的連接時間。

DNS LookUp:表示DNS查詢時間,如果第一次訪問的是域名就需要查找,IP地址的話不需要,上圖中沒有這個參數,說明本地緩存了域名服務器的IP,瀏覽器不需要查詢,直接通過IP請求服務器。

Initail Connection:建立連接的時間,包括?TCP?handshakes/retries和negotiating a?SSL.

Request/Response:請求與響應的時間。具體包括Request Sent,Waiting,Content Download

Request sent:發送HTTP請求到服務器的時間,即上傳時間,這個時間取決于發送請求的數據量的大小。

Waiting(TTFB):發送請求后收到響應的第一個字節所花費的時間,TTFB(time to first bytes);這是服務器優化的重要指標,服務器優化的目的就是減少這個時間。

Content Download:從服務器獲取響應數據的時間,下載時間,即上面的Time減去Latency的時間,這是反應帶寬的重要指標。受響應消息內容大小,網絡帶寬,是否使用http壓縮等影響。

三、頁面加載時間分析

Finish:1.39s :表示整個頁面加載時間為640ms。

DOMContentLoaded:998ms?:發生在頁面DOMContentLoaded事件的啟動時間點,對應上圖藍色豎線。

Load:1.39s:表示頁面load事件的啟動時間點,對應上圖紅色豎線。

1、window.onload和DOMContentLoaded詳解

DOMContentLoaded事件要在window.onload之前執行,DOM樹構建完成時執行DOMContentLoaded事件,而window.onload是在頁面載入完成時才執行,包括圖片等加載完成。

2、代碼測試

代碼如下:

demo of starof

DOM READY's TEST

DOM is not ready

alert("111");

if (document.addEventListener) {

function DOMContentLoaded() {

$("#status").text("DOM is ready now!");

alert("222");

}

document.addEventListener("DOMContentLoaded", DOMContentLoaded, false);

}

window.onload = function() {

$("#status").text("DOM is ready AND wondow.onload is excute!");

}

效果:

jquery的$(document) .ready();就是用的DOMContentLoaded事件。

其他資源鏈接:

本文作者starof,因知識本身在變化,作者也在不斷學習成長,文章內容也不定時更新,為避免誤導讀者,方便追根溯源,請諸位轉載注明出處:http://www.cnblogs.com/starof/p/5443445.html有問題歡迎與我討論,共同進步。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455093.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455093.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455093.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用棧來完成一個表達式的結果

原文地址:傳送門 使用棧來完成一個表達式的結果 使用棧完成計算 一個表達式的結果 7*2*2-51-53-4 ? 32*6-2[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-XzPnJzRe-1614845779689)(https://victorfengming.gitee.io/data_algorithm/i…

JM與h264標準中的關鍵字說明

有些亂,先存著,留著看 如何結合H.264標準看JM代碼》這個web文件,大家都應該有了吧。不過,那個web文檔是“H.264樂園”群中聊天的內容 1、一個sps后,有若干個pps嗎? 這主要又編碼器決定,但J…

云計算(cloud computing)十大問答

本文講的是云計算(cloud computing)十大問答,【IT168 資訊】云計算這個新名詞最近甚囂塵上,最近周圍不少朋友都在談,有必要寫一個關于云計算的科普了。  一般的業界比較喜歡用一些新名詞來體現 自己的戰略眼光和與對…

3150cdn打印機清零 hl_兄弟HL-3150/3140彩色打印機粉盒清零方法,我們提前了解一下...

原標題:兄弟HL-3150/3140彩色打印機粉盒清零方法,我們提前了解一下對于兄弟品牌的打印機,相信各位經銷商朋友都遇到過,更換新的粉盒或者加粉后還會提示墨粉不足、更換碳粉盒、更換硒鼓。這個情況需要在機器上操作清零!…

Python 關于bytes類方法對數字轉換的誤區, Json的重要性

本文起源于一次犯錯, 在發覺bytes()里面可以填數字, 轉出來的也是bytes類型, 就心急把里面的東西decode出來. 結果為空.搞來搞去以為是命令不熟練事實上錯在邏輯.a1 bytes(11, encodingutf-8) print(a1)b1 a1.decode()print(b1)a2 bytes(11) print(a2)b2 a2.decode() print…

前綴中綴后綴表達式的計算求值

原文在這里 表達式 前綴表達式(波蘭表達式) 前綴表達式又稱波蘭式,前綴表達式的運算符位于操作數之前舉例說明: (34)5-6 對應的前綴表達式就是 - 3 4 5 6 前綴表達式求值 前綴表達式的計算機求值 從右至左掃描表達式,遇到數字時,將數…

psnr 計算

PSNR是“Peak Signal to Noise Ratio”的縮寫,峰值信噪比。psnr一般是用于最大值信號和背景噪音之間的一個工程項目。 PSNR計算公式如下: 8bits表示法中,peak的最大值為255;MSE指Mean Square Error(均方誤差&#xff0…

光源時間_縮短背光源的使用壽命的原因

許多場所都會使用到led這種產品,這種產品經常用于背光的照亮中。但是由于使用led的局限性較大,所以led逐漸被背光源這種產品所代替,常常用于背景的照亮讓宣傳圖可以展現出更好的視覺,這也是許多人選擇背光源的原因。那么&#xff…

《結對-貪吃蛇-需求分析》

結對編程:貪吃蛇項目 準備階段:安裝Python、pygame 編寫階段:1. 設置游戲窗口 2. 設置游戲必要功能: a)開始、暫停、退出按鈕 b)貪吃蛇身體 c)食物 d)移動貪吃蛇所需按鍵 3. 完善游戲:添加游戲時間、貪吃蛇失敗次數…

視頻中場的問題2009-04-03 19:38(一)

視頻中場的問題2009-04-03 19:38(一) 場的用途: 讓25幀/秒的電視畫面幀速率,變為50幀/秒。使觀眾感受到更加流暢的畫面。 (二) 場的由來: 在電視制作的時候,電視掃描一副畫面的時間根據當地交流電源的頻率來確定。比如中國交流電源…

遞歸應用場景和調用機制

原文鏈接:傳送門 遞歸 迷宮問題(回溯) 概念 簡單吶的說: 遞歸就是方法自己調用自己,每次調用時傳入不同的變量,遞歸有助于編程者解決復雜的問題,同時讓代碼變得簡潔. 案例-遞歸調用機制 打印問題 public static void test(int n){if(n>2){test(n-1);}System.out.print…

在vivado里用rtl描述_如何利用Vivado HLS處理許多位準確或任意精度數據類型

我們在設計硬件時,它往往是要求更精確的位寬。例如,一個filter的輸入是12位和一個累加器的結果只需要一個最大范圍為27位。然而對于硬件設計來說,使用標準的C數據類型會造成硬件成本的浪費。這就會造成我們要使用更多的LUT和寄存器&#xff0…

Spring4.0之四:Meta Annotation(元注解)

Spring框架自2.0開始添加注解的支持,之后的每個版本都增加了更多的注解支持。注解為依賴注入,AOP(如事務)提供了更強大和簡便的方式。這也導致你要是用一個相同的注解到許多不同的類中去。這篇文章介紹meta annotation來解決這個問…

八皇后問題分析與Java實現

原文鏈接:傳送門 八皇后問題 八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯貝瑟爾于1848年提出:在88格的國際象棋上擺放八個皇后,使其不能互相攻擊,即:任意兩個…

各種音視頻編解碼學習詳解 h264 ,mpeg4 ,aac 等所有音視頻格式

編解碼學習筆記(一):基本概念 媒體業務是網絡的主要業務之間。尤其移動互聯網業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放license收費等等。最…

shell 腳本比較字符串相等_shell腳本--邏輯判斷與字符串比較

涉及到比較和判斷的時候,要注意整數比較使用-lt,-gt,ge等比較運算符,詳情參考:整數比較文件測試使用 -d, -f, -x等運算發,詳情參考:文件測試邏輯判斷使用 &&(且)、||(或)、&#xff…

單例模式之惡漢模式(詳解)

一.設計模式 概念:設計模式是一套被反復使用、多人知曉的、經過分類編目的、代碼設計經驗的總結。 目的:是用設計模式可以重用代碼,讓代碼更容易被他人理解,保證代碼的可靠性。 二.為什么要使用單例模式? 如果創造出多…

JSP中的:request.getScheme()+://+request.getServerName()+:+request.getServer

String path request.getContextPath(); String basePath request.getScheme()"://"request.getServerName()":"request.getServerPort()path"/"; <base href" <%basePath%>"> 這個語句是用來拼裝當前網頁的相對…

迷宮回溯問題分析和實現

原文鏈接:傳送門 迷宮問題 說明: 小球得到的路徑&#xff0c;和程序員設置的找路策略有關即&#xff1a;找路的上下左右的順序相關再得到小球路徑時&#xff0c;可以先使用(下右上左)&#xff0c;再改成(上右下左)&#xff0c;看看路徑是不是有變化測試回溯現象思考: 如何求出…

canvas clear 指定屬性的元素_好程序員web前端分享CSS屬性組成及作用

好程序員web前端分享CSS屬性組成及作用學習目標1、css屬性和屬性值的定義2、css文本屬性3、css列表屬性4、css背景屬性5、css邊框屬性6、css浮動屬性一、css屬性和屬性值的定義屬性&#xff1a;屬性是指定選擇符所具有的屬性&#xff0c;它是css的核心&#xff0c;css2共有150多…