日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

如何获取浏览器的DNS解析时间

發(fā)布時間:2025/7/14 HTML 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何获取浏览器的DNS解析时间 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先看原理:

a <= <random number>t1? http://a-doppler.facebook.com/test_pixel?HTTP1.0&t=1&size=0kt2? http://a-doppler.facebook.com/test_pixel?HTTP1.1&t=2&size=0kt3? http://a-doppler.facebook.com/test_pixel?HTTP1.1&t=3&size=0kt4? http://a-doppler.facebook.com/test_pixel?HTTP1.1&t=4&size=10kt1 = DNS + New Connection +RTTt2 = New Connection + RTTt3 = RTT10k /(t4–t3)~TCP bandwidth來源:《MobilePerformanceVelocity2011.pdf》 by DavidWei.

這方案有兩個關(guān)鍵點(diǎn):

1、為了避免各種DNS緩存,每組請求必須用一個從來沒被用過的全新N級域名。這就要求你的域名支持泛解析。例如我為了這個實(shí)踐,開了*.qgy18.com的解析。

2、每組的第一個請求響應(yīng)必須以HTTP/1.0返回。我開始還沒注意這個,經(jīng)aoao提醒才明白,這樣才可以確保后面的請求會重建Connection。

t2 和t1指向同一個域名,且都需要重新建立連接,所以t2-t1是DNS解析時間;t2返回Connection: Keep-Alive,t3是在Keep-Alive指定的timeout時間內(nèi)發(fā)起的新請求,且返回內(nèi)容為空,所以是RTT(Round-Trip Time);t4在t3的基礎(chǔ)上只是把返回內(nèi)容大小由0k變成10k,所以t4-t3是加載這10k資源花費(fèi)的時間,這就可以得到網(wǎng)絡(luò)帶寬了。為了減少網(wǎng) 絡(luò)波動,也可以多測幾次取平均值。

明白了原理就好辦了,剩下的幾行代碼相信大家都會寫,略過。

相比Navigation Timing提供的統(tǒng)計,這種方法好處是兼容絕大部分瀏覽器,沒有瀏覽器實(shí)現(xiàn)上的差異和bug,能較準(zhǔn)確的反應(yīng)瀏覽器查詢DNS所花費(fèi)的時長;缺點(diǎn)是部署起來比較麻煩。

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的如何获取浏览器的DNS解析时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。