要想知道網(wǎng)頁打不開的原因,我們需要從網(wǎng)頁是怎么打開的原理講起,相信這樣更有助于幫助你理解??紤]到部分內(nèi)容需要一定專業(yè)度的問題,講的時(shí)候我會(huì)省略掉一些細(xì)節(jié)。
網(wǎng)頁打開過程
我們把網(wǎng)頁打開的過程假設(shè)成我要去成龍家拿個(gè)快遞(龍叔好無辜)。但是我覺得這樣比較好理解哈。
- DNS解析
在這里我們不用管DNS是啥。按我們上面假設(shè)的例子。我要去拿快遞,首先要知道龍叔家在哪。DNS解析就是幫我找到龍哥家的地址。
- 瀏覽器和服務(wù)端建連
OK,上面我們已經(jīng)知道龍叔家地址了,但我們不能貿(mào)然跑過去吧。龍叔家肯定保護(hù)措施很嚴(yán),冒冒失失跑過去說不定被保安給抓了。不行不行,我們還是先給龍叔家打個(gè)招呼,告訴他我要去他家拿快遞。這個(gè)打招呼確認(rèn)的過程就是瀏覽器和服務(wù)端建立連接(TCP握手)的過程。
- 數(shù)據(jù)傳輸
好了,現(xiàn)在我們既知道龍叔地址,又打過招呼,接下來就可以出發(fā)了。想要拿到快遞,我的路線是這樣“家->龍叔家->拿到快遞->返回家”。我走這條路線的過程就叫數(shù)據(jù)傳輸。
- 網(wǎng)頁渲染
現(xiàn)在我已經(jīng)成功從龍叔家拿到了快遞(開心?。=酉聛砭偷搅碎_箱的時(shí)候了。畢竟開完箱我才能看到它的真面目。而我開箱的這個(gè)過程就是網(wǎng)頁渲染(從服務(wù)端拿回來的文檔需要經(jīng)過瀏覽器的渲染才能成為你在網(wǎng)頁上看到的內(nèi)容,具體渲染細(xì)節(jié)就不講了)。
總結(jié)
相信看完上面的概念,你對(duì)網(wǎng)頁打開的過程有了一個(gè)大概的了解。那我們回到問題本身。為什么有些網(wǎng)頁會(huì)打不開?
我們從上面幾個(gè)階段分別來分析總結(jié)下可能影響網(wǎng)頁打不開的點(diǎn):
DNS解析階段
- DNS服務(wù)器故障導(dǎo)致DNS解析失?。赫也坏烬埵寮伊诉€咋拿快遞啊?
- 本地host沖突:本來DNS服務(wù)器應(yīng)該告訴我龍叔家住香港,完了家里人說龍叔住北京。關(guān)鍵我還更信家里人的,那可不涼涼了。
- DNS劫持:比如你用的一些不知名wifi或者無良運(yùn)營商會(huì)把你本來要訪問的網(wǎng)頁劫持到別的地方去,或者讓你打不開。
建連階段
- 你訪問的網(wǎng)頁服務(wù)端故障(宕機(jī)/超時(shí)…):想給龍叔家打個(gè)招呼,電話打不通,啥方式都聯(lián)系不到,龍叔家失聯(lián)了,這可咋整。
- 本地網(wǎng)絡(luò)故障:我失聯(lián)了,涼涼了。
- The Great Wall:國外的訪問不了一般這個(gè)原因,你懂的。
- 瀏覽器安全限制:部分高級(jí)瀏覽器如chrome、Firefox會(huì)對(duì)一些釣魚網(wǎng)站進(jìn)行攔截,SO!
數(shù)據(jù)傳輸階段
- 網(wǎng)絡(luò)傳輸慢(本地上行帶寬/服務(wù)端下行帶寬):本來約好2號(hào)去龍叔家拿快遞,結(jié)果路上堵車,3號(hào)才到龍叔家。人家全家出去旅游去了。也有可能快遞太重,路上走太慢。
- 你訪問的網(wǎng)頁服務(wù)端故障(宕機(jī)/超時(shí)…):到了龍叔家進(jìn)不了門,沒人鳥我。拿不到快遞….卒。
網(wǎng)頁渲染
- 網(wǎng)頁太大、依賴資源太多:快遞太大,拆快遞速度太慢,拆的煩直接扔了。(瀏覽器內(nèi)存溢出,涼涼)
以上就是我的一些個(gè)人理解,希望對(duì)你有幫助!謝謝