1. 程式人生 > >面試問題:當我們在瀏覽器中輸入一個域名url時,接下來會做什麼

面試問題:當我們在瀏覽器中輸入一個域名url時,接下來會做什麼

這個題之前看面經的時候看到過,但是忘了點。

今天在筆試時遇到了:我大概寫的是首先會在DNS伺服器上查詢一個對映獲取伺服器的IP地址(域名-->IP)。然後向伺服器傳送HTTP請求報文...

但是感覺自己答得不好,今天在網上搜了下這個知識點,然後做下記錄。

問題:“在瀏覽器中輸入一個域名URL後,接下來會做什麼?”

答:第一步就是根據域名獲取伺服器的IP地址。

如何找到域名與IP地址的對映呢?

瀏覽器DNS快取------瀏覽器中有一個DNS快取器,會記錄我們之前一段時間我們的訪問記錄中域名--->IP。那麼瀏覽器首先會在自己的DNS快取中進行查詢這個域名,如果找到了就獲得伺服器的IP;如果在瀏覽器的DNS快取中沒有找到訪問的域名,會在系統快取中查詢;

系統快取------如果在瀏覽器DNS快取中沒有找到對應的域名,接下來會在系統快取中進行查詢(gethostbyname)獲取域名---->IP。如果找到了直接訪問伺服器IP;如果系統快取中沒有找到,會到路由器快取中查詢;

路由器DNS快取--------如果系統快取中沒有找到目的域名的對映,會將查詢請求傳送到路由器,每個路由器中有自己的DNS快取。然後會在路由器的DNS快取中查詢,如果沒有找到會到ISP 的DNS快取中去查詢。合法的域名最終在ISP快取中都能夠找到,最終瀏覽器獲得了域名對應的伺服器的IP;

第二步瀏覽器向伺服器的IP的埠號發起TCP三次握手建立連線;

第三步瀏覽器向伺服器傳送HTTP請求報文;

第四步伺服器根據HTTP請求報文的引數找到請求的資源;

第五步伺服器給瀏覽器傳送HTTP應答報文,把資源返回給客戶端;

第六步通過四次揮手釋放TCP連線;

相關推薦

面試問題我們瀏覽器輸入一個域名url下來什麼

這個題之前看面經的時候看到過,但是忘了點。 今天在筆試時遇到了:我大概寫的是首先會在DNS伺服器上查詢一個對映獲取伺服器的IP地址(域名-->IP)。然後向伺服器傳送HTTP請求報文... 但是

瀏覽器輸入一個域名發生什麼

今天,去哪兒網Geely老師分享了他在校招時的一個面試題:當輸www.qunar.com時發生了什麼。(真不是做廣告哈) 因為學的並沒有很紮實,不能更深更廣的分析這個問題,遂---百度一下,發現這篇文章並轉載儲存下來。同時也分享一下,希望大家可以更深的瞭解其中提到的一些

網絡技術——瀏覽器輸入一個網址並按下回車後發生的事情

一次 seq asc 找到 直接 隨機 傳輸層 搜索 主機 1、回車鍵按下後,瀏覽器會對輸入的地址數據進行解析:  1.1、檢查輸入的URL是http協議,請求資源是對應主機名網站主頁。   1.2、然後檢查瀏覽器的嚴格安全傳輸列表( HSTS列表 ),如果網站在列表中,則

瀏覽器輸入一個url後回車後臺發生了什麼?

這個問題之前、最近、我想以後肯定還會被問到,或者問到這樣的題目,如果在百度框裡輸入查詢的字串開始,是怎麼返回你需要的東西呢。 那這什麼個過程呢(這個問題我在之後的部落格中在寫)? 網上各種的說法,不外乎這麼幾種 第一種簡單的說呢就是這樣的: 第一步:客戶機

瀏覽器輸入一個url後回車後臺發生了什麼?比如輸入url你看到了百度的首頁那麼這一切是如何發生的呢?

簡單來說有以下步驟:1、查詢域名對應的IP地址。這一步會依次查詢瀏覽器快取,系統快取,路由器快取,ISPDNS快取,根域名伺服器。2、向IP對應的伺服器傳送請求。3、伺服器響應請求,發回網頁內容。4、瀏覽器解析網頁內容。當然,由於網頁可能有重定向,或者嵌入了圖片,AJAX,

我們瀏覽器輸入一個URL發生了什麼?

寫在開頭:這篇文章被我歸入部落格效能優化類別,是因為我認為如果我們要優化網站效能、提升使用者體驗,首要目標就是要知道使用者在本地請求並載入你的網頁的過程中,到底發生了什麼,在此基礎上我們才能更好的優化網頁。 圖源:知乎-張秋怡 瀏覽器解析並查詢快取 DNS查詢

瀏覽器輸入一個網址後發生了什麼?

此文章轉載自:https://www.cnblogs.com/SarahLiu/p/5954832.html這是面試中一道非常經典的問題。當你在瀏覽器中輸入一個網址,瀏覽器的處理過程如下:第一步 瀏覽器查詢該域名的 IP 地址 第二步 瀏覽器根據解析得到的IP地址向 web

瀏覽器輸入一個地址回車後發生了些什麼事兒?

在瀏覽器中輸入一個地址回車後,直到你看到頁面,這中間發生了些什麼事兒? - 你回答個servlet生命週期也好啊 地址如果是域名,那麼會瀏覽器先讀瀏覽器的dns快取 沒有,讀本機的快取

描述在瀏覽器輸入一個網址後的發生的事情

1.需要查詢域名的IP地址,DNS查詢過程如下: (1)查詢瀏覽器快取(每個遊覽器都會快取一段時間的DNS,2min~30min) (2)查詢系統快取,如果在瀏覽器快取中沒有找到需要的記錄,瀏覽器就是做一個系統呼叫(windows裡是gethosebyname),這樣便可

瀏覽器輸入網站域名並按下回車的詳細過程

部分 路由器 完成 是個 tis cli 圖片 聯系 led 主要有以下幾個部分: 1 DNS解析,獲取Web服務器IP 2 建立TCP連接 3 向Web服務器發送HTTP請求 4 Web服務器收到請求並處理 5 Web服務器返回響應 6 瀏覽器對響應解碼,並顯示

Android面試主執行緒的Looper.loop()一直無限迴圈為什麼不造成ANR?(轉)

  引子: 正如我們所知,在android中如果主執行緒中進行耗時操作會引發ANR(Application Not Responding)異常。 造成ANR的原因一般有兩種: 只有當應用程式的UI執行緒響應超時才會引起ANR,超時產生原因一般有兩種 1. 當前的事件沒有機會

瀏覽器地址輸入一個域名發生了什麼(用類比的方法來理解)

URL包含什麼: 協議(如:http) + 域名(如:baudu.com) + 檔案路徑(如:/htm_data/20/1510.html) + 埠(如:80) 開始—— os:我要輸入啦 1.輸入baidu.com

通過js禁止輸入空格(試用場景用字符串拼接插入dom節點onkeyup這些方法都不好使可用這個)

urn lob ria 所有 span returns cas code else if <span style="font-family: Arial, Helvetica, sans-serif;"><input type="password" nam

關於C語言輸入一個三位整數逆序輸出一個三位數

剛開始在leetcode上刷題,遇到的兩道題目比較簡單,一道是求用一個函式求輸入的兩個數的值,這個簡單就略過了,下面講講一道常見的題目,這是一點小心得,下面附上題目及解題思路:題目:Given a 32-bit signed integer, reverse digits o

HTML你的文字輸入框想輸入時能匹配對應的提示項試試datalist

話不多說,直接貼程式碼 <input list="browsers"> <datalist id="browsers"> <option value="Internet Explorer"> <option value="Firefox"&g

C語言迴圈名句運用 累加器輸入一個數值進行累加輸入13

/*累加器輸入一個數值進行累加,輸入13*/ #include<stdio.h> void main() {int i,a,s=0;printf("請輸入一個整型數值進行累加:");scanf("%d",&a);for(i=1;i<=a;i++){

解決input框獲取焦點改變input邊框的顏色在谷歌瀏覽器input框獲取焦點input框多了一個帶顏色的邊框

1、問題頁面顯示效果 2、解決辦法,在input獲取焦點的樣式中加入outline:none;或outline-width:0; input[type=text]:focus, select:focus{ border:1px solid #3879d9; out

火狐瀏覽器設定開啟新地址覆蓋原頁面的方法

近期使用火狐瀏覽器發現開啟新標籤頁時總是會覆蓋原頁面,百度了好多方法都是在選項中-設定標籤頁, 然而,在我用的瀏覽器版本里均無此項可設定,一直百度總算找到一種辦法,親試絕對有效! 1、本人用的是火狐瀏覽器62.0.3版本,如圖,同我版本相同或以上的版本都可用此方法; 2、此火狐瀏覽器新建標籤頁,輸入

C++對結構體字元陣列賦值出現表示式必須是可修改的左值的問題

問題描述:         在C++中為結構體中的字元陣列賦值時,出現”表示式必須是可修改的左值“的錯誤提醒,編譯報錯“不可指定資料型別”。           &n

我們討論TCP的連線運輸管理我們在說什麼

TCP連線管理概述 TCP是面向連線的協議。運輸連線是用來傳送TCP報文的。TCP的連線和釋放是每一次面向連線的通訊中必不可少的過程。因此,運輸連線就有三個階段,即:連線建立,資料傳輸和連線釋放。運輸連線的管理就是使運輸連線的建立和釋放都可以正常的進行。 在TCP連線的建立過程中要解決一下三個問題。 1