首页
/
每日頭條
/
職場
/
關于接口的面試題
關于接口的面試題
更新时间:2025-12-20 20:48:30

在浏覽器中輸入 URL 之後,它會執行以下幾個流程:

  1. 執行 DNS 域名解析;
  2. 封裝 HTTP 請求數據包;
  3. 封裝 TCP 請求數據包;
  4. 建立 TCP 連接(3 次握手);
  5. 參數從客戶端傳遞到服務器端;
  6. 服務器端得到客戶端參數之後,進行相應的業務處理,再将結果封裝成 HTTP 包,返回給客戶端;
  7. 服務器端和客戶端的交互完成,斷開 TCP 連接(4 次揮手);
  8. 浏覽器通過自身執行引擎,渲染并展示最終結果給用戶。
1.DNS 域名解析

在網絡中定位是依靠 IP 進行身份定位的,所以 URL 訪問的第一步便是先要得到服務器端的 IP 地址。而得到服務器的 IP 地址需要使用 DNS(Domain Name System,域名系統)域名解析,DNS 域名解析就是通過 URL 找到與之相對應的 IP 地址。

PS:為什麼不直接訪問 IP 地址來請求服務器?因為 IP 地址很長,不方便記憶,而 URL 地址好記很多,所以會使用 URL 來替代 IP 地址,而 URL 就像 IP 地址的别名一樣,用它可以定位到相應的 IP 地址。

DNS 域名解析的大緻流程如下:

  1. 先檢查浏覽器中的 DNS 緩存,如果浏覽器中有對應的記錄會直接使用,并完成解析;
  2. 如果浏覽器沒有緩存,那就去查詢操作系統的緩存,如果查詢到記錄就可以直接返回 IP 地址,完成解析;
  3. 如果操作系統沒有 DNS 緩存,就會去查看本地 host 文件,Windows 操作系統下,host 文件一般位于 "C:\Windows\System32\drivers\etc\hosts",如果 host 文件有記錄則直接使用;
  4. 如果本地 host 文件沒有相應的記錄,會請求本地 DNS 服務器,本地 DNS 服務器一般是由本地網絡服務商如移動、電信提供。通常情況下可通過 DHCP 自動分配,當然你也可以自己手動配置。目前用的比較多的是谷歌提供的公用 DNS 是 8.8.8.8 和國内的公用 DNS 是 114.114.114.114。
  5. 如果本地 DNS 服務器沒有相應的記錄,就會去根域名服務器查詢了,目前全球一共有 13 組根域名服務器(這裡并不是指 13 台服務器,是指 13 個 ip 地址,按字母 a-m 編号),為了能更高效完成全球所有域名的解析請求,根域名服務器本身并不會直接去解析域名,而是會把不同的解析請求分配給下面的其他服務器去完成,下面是 DNS 域名系統的樹狀結構圖:

關于接口的面試題(輸入URL之後會執行什麼流程)1

2.封裝 HTTP 請求數據包

一個 HTTP 請求對象包含 4 部分内容:

  1. 請求行
  2. 請求報頭
  3. 空行
  4. 請求正文

它的基本格式如下:

關于接口的面試題(輸入URL之後會執行什麼流程)2

在得到了服務器 IP 之後,緊接着會将本地的請求封裝成一個 HTTP 數據包,如上圖所示。

3.封裝 TCP 請求數據包

HTTP 底層是依賴 TCP/IP 協議實現的,所以在底層數據傳輸時,會将 HTTP 請求包進一步封裝成 TCP 數據包。

4.建立 TCP 連接(3 次握手)

HTTP 通訊的基礎是 TCP 連接,TCP 連接需要 3 次握手,3 次握手就是為了驗證客戶端的發送能力和接收能力,以及服務器端的發生能力和接收能力,就像打電話一樣,通常的通話是這樣開頭的:

  1. :喂,能聽到嗎?
  2. 對方:能聽到,你能聽到嗎?(證明了對方的接收能力和我的發送能力)
  3. :我也能聽到,咱們聊正事吧。(證明了對方的發送能力和我的接收能力)

經過以上 3 次握手就可以證明客戶端的發送能力和接收能力,以及服務器端的發生能力和接收能力,這樣就可以正式開始通訊了。

5.服務器端獲取到 HTTP 請求參數

數據在經過 TCP 傳到到服務器程序之後,又會将 TCP 的數據包轉換成 HTTP 數據包(這一切都是 TCP/IP 協議的功勞),這樣服務器端就可以得到客戶端發送的請求數據了。

6.服務器端執行業務處理,并返回數據

服務器端拿到了客戶端的請求參數之後,會進行相應的業務處理,處理完成之後,再将處理的結果返回給客戶端。返回的流程和發送的流程類似,先将結果封裝成 HTTP 數據包,HTTP 數據包可分為以下 4 部分:

  1. 狀态行
  2. 響應報頭
  3. 空行
  4. 響應正文

它的基本格式如下:

關于接口的面試題(輸入URL之後會執行什麼流程)3

狀态行用于描述服務器的返回狀态,它由 3 部分組成:

  1. HTTP 版本号,如 HTTP/1.1;
  2. 狀态碼,如 200;
  3. 狀态描述信息,如 OK;

常見的狀态碼有以下幾個:

  • 200:返回成功;
  • 301:永久重定向;
  • 302:臨時重定向;
  • 404:未找到頁面;
  • 500:服務器程序出錯。

響應正文就是返回給客戶端的所有數據。

7.斷開 TCP 連接(4 次揮手)

在經過一次請求和一次響應之後,客戶端和服務器的“交流”就結束了,此時就可以執行 TCP 連接斷開的流程了,它需要 4 次揮手:

  • 客戶端:咱們分手吧;
  • 服務器端:好的,讓我準備一下。
  • 服務器端:我準備好了,分手吧。
  • 客戶端:好的。

經過了以上流程之後,TCP 的連接就斷開了。

8.浏覽器渲染并展示結果

經過 TCP 交互之後,客戶端也得到了服務器端返回的數據,然後使用浏覽器自身的執行引擎,将最終的結果展示給用戶,整個執行流程就結束了。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
職業教育層次類型轉變的感想
職業教育層次類型轉變的感想
職業教育層次類型轉變的感想?黨的十八大以來,我國各項事業蓬勃發展其中,職業教育作為一種重要的教育類型在2019年《國家職業教育改革實施方案》中正式提出,并在各行各業快速發展進程中逐步顯現自身效能,成為我國經濟社會發展的重要保障力量,今天小編...
2025-12-20
京東工作很幸福嗎
京東工作很幸福嗎
看過很多人問京東内部如何,薪資福利是不是像傳聞的那麼差雲雲?筆者隻就自身經曆說一下,不具有代表性,僅供大家參考。(如果有想了解更多的可以私聊我,能說的不能說的都給你說點。)01加班我所在的大部門,已婚已育的男的一星期加班2、3天是正常現象,...
2025-12-20
西安限行時間段上路會有哪些處罰
西安限行時間段上路會有哪些處罰
西安限行時間段上路會有哪些處罰?西部網訊(陝西廣播電視台《第一新聞》記者李歡)3月18日起,西安開始為期一年的工作日機動車尾号限行,那麼,常态化限行第一天,有沒有違規上路的機動車呢?,今天小編就來說說關于西安限行時間段上路會有哪些處罰?下面...
2025-12-20
公共事業管理的專業以後做什麼
公共事業管理的專業以後做什麼
都說公共事業管理專業是培養公務員的一個專業,可是,每年公務員的名額必定有限,對于沒有考上公務員的公共事業管理專業畢業生又該何去何從呢?就業方向:公共事業管理專業學生畢業後可在文教、體育、衛生、社區、老年事業、社會保障等公共事業單位的行政管理...
2025-12-20
加拿大租房支出抵稅嗎
加拿大租房支出抵稅嗎
加拿大租房支出抵稅嗎?在加拿大有很多單位是發周薪和雙周薪我家老外就是每兩周發一次工資,我來為大家科普一下關于加拿大租房支出抵稅嗎?以下内容希望對你有幫助!加拿大租房支出抵稅嗎在加拿大有很多單位是發周薪和雙周薪。我家老外就是每兩周發一次工資。...
2025-12-20
Copyright 2023-2025 - www.tftnews.com All Rights Reserved