瀏覽器對(duì)網(wǎng)址的訪問詳解

首先,根據(jù)url得到ip地址

瀏覽器對(duì)這個(gè)URL的緩存進(jìn)行查詢,先在瀏覽器緩存中查詢,沒有找到記錄后再在本機(jī)hosts文件中查詢,仍然沒有找到,再去ISP電信服務(wù)商那里查詢,最后就來到了萬維網(wǎng)DNS域名服務(wù)系統(tǒng),開始進(jìn)行域名的遞歸搜索,首先搜索一級(jí)域名,然后是二級(jí)等等,直到找到相關(guān)記錄,把該域名解析成ip地址,通過ip地址找到服務(wù)器。

其次,客戶端和服務(wù)器建立連接

找到服務(wù)器后,告訴服務(wù)器要進(jìn)行資源的請(qǐng)求,這其中又涉及到http協(xié)議的內(nèi)容,http協(xié)議是一個(gè)無狀態(tài),無連接的協(xié)議,全稱是超文本傳輸協(xié)議,無狀態(tài)指通信之間不會(huì)存儲(chǔ)對(duì)方的任何內(nèi)容,無連接指,一次數(shù)據(jù)傳輸后后,不能持續(xù)連接狀態(tài)進(jìn)行資源的互相傳遞,這就特別像是打電話的過程,無狀態(tài)是指,沒有來電顯示的電話,無連接是指,某方給某方傳了一條信息后立刻終止連接。
不過現(xiàn)在廣泛應(yīng)用的http1.1,2.0已經(jīng)支持了新的技術(shù),長連接。
知道了http協(xié)議,客戶端和服務(wù)器可以相互進(jìn)行通信了,我們便要知道,服務(wù)器和瀏覽器間傳輸遵從的協(xié)議,TCP協(xié)議,客戶端和服務(wù)器建立連接的過程,這就需要TCP/IP的三次握手和四次揮手的過程。
這里,題主搜了一篇自以為總結(jié)的不錯(cuò)的博文TCP/UDP詳解
三次握手四次揮手

之后,瀏覽器就可以很愉快地把請(qǐng)求頭發(fā)送給服務(wù)器了

這里又牽扯到請(qǐng)求頭的一些知識(shí)點(diǎn),請(qǐng)求頭是在瀏覽器端由瀏覽器主動(dòng)發(fā)出的一些代碼,在請(qǐng)求頭里,瀏覽器把自己的版本信息,請(qǐng)求的url,協(xié)議的版本號(hào),cookie等信息隨著請(qǐng)求頭,一并發(fā)到服務(wù)器端,在chrome瀏覽器的代碼調(diào)試?yán)镂覀兛梢哉业秸?qǐng)求頭的代碼。
服務(wù)器在收到請(qǐng)求頭之后,便返回一個(gè)響應(yīng)頭,其中有傳輸內(nèi)容的編碼類型,時(shí)間,返回的cookie信息等。隨之返回的是從瀏覽器端請(qǐng)求的html主頁面(一般是index.html),瀏覽器拿到這個(gè)頁面后,瀏覽器引擎便開始對(duì)這個(gè)頁面進(jìn)行從上到下的依次解析。每需要一個(gè)資源內(nèi)容,比如css,js,圖片,都需要再次進(jìn)行以上的過程進(jìn)行資源的請(qǐng)求。

接著,我們?cè)賮斫榻B一下cookies

由于http是無狀態(tài)協(xié)議,導(dǎo)致服務(wù)器和瀏覽器的傳輸不能保存兩者之間的狀態(tài),但是瀏覽器又會(huì)記錄到曾經(jīng)訪問過的一些網(wǎng)站信息。這就需要瀏覽器的本地存儲(chǔ)機(jī)制。
瀏覽器的本地存儲(chǔ)有幾種方式,cookies,localstorage,sessionstorage.
這里我們可以再擴(kuò)展一下知識(shí),這三者的區(qū)別?
localstorage和sessionstorage只能用于瀏覽器本地存儲(chǔ),而cookies除了瀏覽器端之外也可以在服務(wù)器存儲(chǔ)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容