'經典軟件開發面試題:瀏覽器中輸入一個網址後發生了什麼?'

瀏覽器 軟件 DNS 人生第一份工作 丁哥開講 2019-08-26
"

經典軟件開發面試題:瀏覽器中輸入一個網址後發生了什麼?


"

經典軟件開發面試題:瀏覽器中輸入一個網址後發生了什麼?


經典軟件開發面試題:瀏覽器中輸入一個網址後發生了什麼?


大家好, 這一期呢,我們來談一個經典的面試題。這種題目是在瀏覽器中輸入一個網址以後, 會顯示一個網頁,這期間到底發生了什麼? 答案要求說的越詳細越好。

好,現在我們就來說一下這個問題。

第1步用戶輸入網址,按回車以後,瀏覽器首先要解析出域名, 域名出來以後就進入下一步。

第2步就進入查找IP地址的階段, 首先要在本機的緩存裡查找, 如果找不到,就向臨近的DNS服務器查找, 如果還是找不到,就發送請求到下一級的DNS服務器, 直到找到這個網址的對應IP地址為止。如果找不到,當然就返回錯誤。如果找到了,就會回溯返回IP地址與域名的對應信息, 途經的DNS服務器都要自動更新本機的映射列表。拿到域名對應的IP地址以後,進入第3步。

第3步就是向IP地址對應的服務器發送請求,比如說我們這種請求是Get方法,服務器收到請求以後,如果這個服務器的背後有多個服務,也就是說有可能是來自多個端口或者多臺主機,那麼外層服務器的任務就是根據路徑來匹配相關的端口或主機,找到對應的端口或主機以後,傳遞過來的請求信息,繼續傳送到目的地端口或者主機上,不管是端口,還是主機,都會對應一個服務器程序來處理這些請求, 這些服務器就會在己端對應路徑和方法,從而查找匹配對應的回調函數。找到回調函數以後,進入下面的第4步。

第4步在回調函數中,我們會主要處理兩個參數,一個是請求參數,一個是迴應參數, 我們使用請求參數來查找發送這個請求的用戶相關的驗證信息來驗證用戶的請求是否合法,如果不合法,當然就直接退回並返回相關的狀態代碼401或者403。

如果請求可以繼續,那麼我們就查找在請求頭裡面是否存在其他的信息,以及請求參數等信息, 有了這些信息以後我們就可以去計算我們的數據出來, 我們拿到數據以後,就用迴應參數,把這些數據寫進去。下面我們進入第5步了。

第5步,瀏覽器收到服務器返回的數據以後。對這些數據進行解析顯示

以上是我個人對這個話題一點看法。僅供參考,歡迎討論。

"

相關推薦

推薦中...