国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?

這篇具有很好參考價(jià)值的文章主要介紹了Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

打開瀏覽器從輸入網(wǎng)址到網(wǎng)頁呈現(xiàn)在大家面前,背后到底發(fā)生了什么?經(jīng)歷怎么樣的一個(gè)過程?先給大家來張總體流程圖,具體步驟請看下文分解!

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

總體來說分為以下幾個(gè)過程:

  • DNS 解析:將域名解析成 IP 地址
  • TCP 連接:TCP 三次握手
  • 發(fā)送 HTTP 請求
  • 服務(wù)器處理請求并返回 HTTP 報(bào)文
  • 瀏覽器解析渲染頁面
  • 斷開連接:TCP 四次揮手

一、URL 到底是啥

URL(Uniform Resource Locator),統(tǒng)一資源定位符,用于定位互聯(lián)網(wǎng)上資源,俗稱網(wǎng)址。
比如?http://www.w3school.com.cn/ht...,遵守以下的語法規(guī)則:

scheme://host.domain:port/path/filename
各部分解釋如下:
scheme - 定義因特網(wǎng)服務(wù)的類型。常見的協(xié)議有 http、https、ftp、file,其中最常見的類型是 http,而 https 則是進(jìn)行加密的網(wǎng)絡(luò)傳輸。
host - 定義域主機(jī)(http 的默認(rèn)主機(jī)是 www)
domain - 定義因特網(wǎng)域名,比如 w3school.com.cn
port - 定義主機(jī)上的端口號(http 的默認(rèn)端口號是 80)
path - 定義服務(wù)器上的路徑(如果省略,則文檔必須位于網(wǎng)站的根目錄中)。
filename - 定義文檔/資源的名稱

二、域名解析(DNS)

在瀏覽器輸入網(wǎng)址后,首先要經(jīng)過域名解析,因?yàn)闉g覽器并不能直接通過域名找到對應(yīng)的服務(wù)器,而是要通過 IP 地址。大家這里或許會(huì)有個(gè)疑問----計(jì)算機(jī)既可以被賦予 IP 地址,也可以被賦予主機(jī)名和域名。比如?www.hackr.jp。那怎么不一開始就賦予個(gè) IP 地址?這樣就可以省去解析麻煩。我們先來了解下什么是 IP 地址

1.IP 地址

IP 地址是指互聯(lián)網(wǎng)協(xié)議地址,是 IP Address 的縮寫。IP 地址是 IP 協(xié)議提供的一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址,以此來屏蔽物理地址的差異。IP 地址是一個(gè) 32 位的二進(jìn)制數(shù),比如 127.0.0.1 為本機(jī) IP。
域名就相當(dāng)于 IP 地址喬裝打扮的偽裝者,帶著一副面具。它的作用就是便于記憶和溝通的一組服務(wù)器的地址。用戶通常使用主機(jī)名或域名來訪問對方的計(jì)算機(jī),而不是直接通過 IP 地址訪問。因?yàn)榕c IP 地址的一組純數(shù)字相比,用字母配合數(shù)字的表示形式來指定計(jì)算機(jī)名更符合人類的記憶習(xí)慣。但要讓計(jì)算機(jī)去理解名稱,相對而言就變得困難了。因?yàn)橛?jì)算機(jī)更擅長處理一長串?dāng)?shù)字。為了解決上述的問題,DNS 服務(wù)應(yīng)運(yùn)而生。

2.什么是域名解析

DNS 協(xié)議提供通過域名查找 IP 地址,或逆向從 IP 地址反查域名的服務(wù)。DNS 是一個(gè)網(wǎng)絡(luò)服務(wù)器,我們的域名解析簡單來說就是在 DNS 上記錄一條信息記錄。

例如 baidu.com ?220.114.23.56(服務(wù)器外網(wǎng)IP地址)80(服務(wù)器端口號)
3. 瀏覽器如何通過域名去查詢 URL 對應(yīng)的 IP 呢
  • 瀏覽器緩存:瀏覽器會(huì)按照一定的頻率緩存 DNS 記錄。
  • 操作系統(tǒng)緩存:如果瀏覽器緩存中找不到需要的 DNS 記錄,那就去操作系統(tǒng)中找。
  • 路由緩存:路由器也有 DNS 緩存。
  • ISP 的 DNS 服務(wù)器:ISP 是互聯(lián)網(wǎng)服務(wù)提供商(Internet Service Provider)的簡稱,ISP 有專門的 DNS 服務(wù)器應(yīng)對 DNS 查詢請求。
  • 根服務(wù)器:ISP 的 DNS 服務(wù)器還找不到的話,它就會(huì)向根服務(wù)器發(fā)出請求,進(jìn)行遞歸查詢(DNS 服務(wù)器先問根域名服務(wù)器.com 域名服務(wù)器的 IP 地址,然后再問.baidu 域名服務(wù)器,依次類推)

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

4. 小結(jié)

瀏覽器通過向 DNS 服務(wù)器發(fā)送域名,DNS 服務(wù)器查詢到與域名相對應(yīng)的 IP 地址,然后返回給瀏覽器,瀏覽器再將 IP 地址打在協(xié)議上,同時(shí)請求參數(shù)也會(huì)在協(xié)議搭載,然后一并發(fā)送給對應(yīng)的服務(wù)器。接下來介紹向服務(wù)器發(fā)送 HTTP 請求階段,HTTP 請求分為三個(gè)部分:TCP 三次握手、http 請求響應(yīng)信息、關(guān)閉 TCP 連接。

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

三、TCP 三次握手

在客戶端發(fā)送數(shù)據(jù)之前會(huì)發(fā)起 TCP 三次握手用以同步客戶端和服務(wù)端的序列號和確認(rèn)號,并交換 TCP 窗口大小信息

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

1.TCP 三次握手的過程如下:
  • 客戶端發(fā)送一個(gè)帶 SYN=1,Seq=X 的數(shù)據(jù)包到服務(wù)器端口(第一次握手,由瀏覽器發(fā)起,告訴服務(wù)器我要發(fā)送請求了)
  • 服務(wù)器發(fā)回一個(gè)帶 SYN=1, ACK=X+1, Seq=Y 的響應(yīng)包以示傳達(dá)確認(rèn)信息(第二次握手,由服務(wù)器發(fā)起,告訴瀏覽器我準(zhǔn)備接受了,你趕緊發(fā)送吧)
  • 客戶端再回傳一個(gè)帶 ACK=Y+1, Seq=Z 的數(shù)據(jù)包,代表“握手結(jié)束”(第三次握手,由瀏覽器發(fā)送,告訴服務(wù)器,我馬上就發(fā)了,準(zhǔn)備接受吧)
2.為啥需要三次握手

謝希仁著《計(jì)算機(jī)網(wǎng)絡(luò)》中講“三次握手”的目的是“為了防止已失效的連接請求報(bào)文段突然又傳送到了服務(wù)端,因而產(chǎn)生錯(cuò)誤”。

四、發(fā)送 HTTP 請求

TCP 三次握手結(jié)束后,開始發(fā)送 HTTP 請求報(bào)文。
請求報(bào)文由請求行(request line)、請求頭(header)、請求體四個(gè)部分組成,如下圖所示:

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

1.請求行包含請求方法、URL、協(xié)議版本
  • 請求方法包含 8 種:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
  • URL 即請求地址,由 <協(xié)議>://<主機(jī)>:<端口>/<路徑>?<參數(shù)> 組成
  • 協(xié)議版本即 http 版本號
POST  /chapter17/user.html HTTP/1.1

以上代碼中“POST”代表請求方法,“/chapter17/user.html”表示 URL,“HTTP/1.1”代表協(xié)議和協(xié)議的版本?,F(xiàn)在比較流行的是 Http1.1 版本

2.請求頭包含請求的附加信息,由關(guān)鍵字/值對組成,每行一對,關(guān)鍵字和值用英文冒號“:”分隔。

請求頭部通知服務(wù)器有關(guān)于客戶端請求的信息。它包含許多有關(guān)的客戶端環(huán)境和請求正文的有用信息。其中比如:Host,表示主機(jī)名,虛擬主機(jī);Connection,HTTP/1.1 增加的,使用 keepalive,即持久連接,一個(gè)連接可以發(fā)多個(gè)請求;User-Agent,請求發(fā)出者,兼容性以及定制化需求。

3.請求體,可以承載多個(gè)請求參數(shù)的數(shù)據(jù),包含回車符、換行符和請求數(shù)據(jù),并不是所有請求都具有請求數(shù)據(jù)。
name=tom&password=1234&realName=tomson

上面代碼,承載著 name、password、realName 三個(gè)請求參數(shù)。

五、服務(wù)器處理請求并返回 HTTP 報(bào)文

1. 服務(wù)器

服務(wù)器是網(wǎng)絡(luò)環(huán)境中的高性能計(jì)算機(jī),它偵聽網(wǎng)絡(luò)上的其他計(jì)算機(jī)(客戶機(jī))提交的服務(wù)請求,并提供相應(yīng)的服務(wù),比如網(wǎng)頁服務(wù)、文件下載服務(wù)、郵件服務(wù)、視頻服務(wù)。而客戶端主要的功能是瀏覽網(wǎng)頁、看視頻、聽音樂等等,兩者截然不同。 每臺(tái)服務(wù)器上都會(huì)安裝處理請求的應(yīng)用——web server。常見的 web server 產(chǎn)品有 apache、nginx、IIS 或 Lighttpd 等。
web server 擔(dān)任管控的角色,對于不同用戶發(fā)送的請求,會(huì)結(jié)合配置文件,把不同請求委托給服務(wù)器上處理相應(yīng)請求的程序進(jìn)行處理(例如 CGI 腳本,JSP 腳本,servlets,ASP 腳本,服務(wù)器端 JavaScript,或者一些其它的服務(wù)器端技術(shù)等),然后返回后臺(tái)程序處理產(chǎn)生的結(jié)果作為響應(yīng)。

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

2.MVC 后臺(tái)處理階段

后臺(tái)開發(fā)現(xiàn)在有很多框架,但大部分都還是按照 MVC 設(shè)計(jì)模式進(jìn)行搭建的。
MVC 是一個(gè)設(shè)計(jì)模式,將應(yīng)用程序分成三個(gè)核心部件:模型(model)-- 視圖(view)--控制器(controller),它們各自處理自己的任務(wù),實(shí)現(xiàn)輸入、處理和輸出的分離。

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

1、視圖(view)

它是提供給用戶的操作界面,是程序的外殼。

2、模型(model)

模型主要負(fù)責(zé)數(shù)據(jù)交互。在 MVC 的三個(gè)部件中,模型擁有最多的處理任務(wù)。一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。

3、控制器(controller)

它負(fù)責(zé)根據(jù)用戶從"視圖層"輸入的指令,選取"模型層"中的數(shù)據(jù),然后對其進(jìn)行相應(yīng)的操作,產(chǎn)生最終結(jié)果。控制器屬于管理者角色,從視圖接收請求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請求,然后再確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。
這三層是緊密聯(lián)系在一起的,但又是互相獨(dú)立的,每一層內(nèi)部的變化不影響其他層。每一層都對外提供接口(Interface),供上面一層調(diào)用。
至于這一階段發(fā)生什么?簡而言之,首先瀏覽器發(fā)送過來的請求先經(jīng)過控制器,控制器進(jìn)行邏輯處理和請求分發(fā),接著會(huì)調(diào)用模型,這一階段模型會(huì)獲取 redis db 以及 MySQL 的數(shù)據(jù),獲取數(shù)據(jù)后將渲染好的頁面,響應(yīng)信息會(huì)以響應(yīng)報(bào)文的形式返回給客戶端,最后瀏覽器通過渲染引擎將網(wǎng)頁呈現(xiàn)在用戶面前。

3.http 響應(yīng)報(bào)文

響應(yīng)報(bào)文由響應(yīng)行(request line)、響應(yīng)頭部(header)、響應(yīng)主體三個(gè)部分組成。如下圖所示:

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

(1) 響應(yīng)行包含:協(xié)議版本,狀態(tài)碼,狀態(tài)碼描述

狀態(tài)碼規(guī)則如下:
1xx:指示信息--表示請求已接收,繼續(xù)處理。
2xx:成功--表示請求已被成功接收、理解、接受。
3xx:重定向--要完成請求必須進(jìn)行更進(jìn)一步的操作。
4xx:客戶端錯(cuò)誤--請求有語法錯(cuò)誤或請求無法實(shí)現(xiàn)。
5xx:服務(wù)器端錯(cuò)誤--服務(wù)器未能實(shí)現(xiàn)合法的請求。

(2) 響應(yīng)頭部包含響應(yīng)報(bào)文的附加信息,由 名/值 對組成

(3) 響應(yīng)主體包含回車符、換行符和響應(yīng)返回?cái)?shù)據(jù),并不是所有響應(yīng)報(bào)文都有響應(yīng)數(shù)據(jù)

六、瀏覽器解析渲染頁面

瀏覽器拿到響應(yīng)文本 HTML 后,接下來介紹下瀏覽器渲染機(jī)制

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端

瀏覽器解析渲染頁面分為一下五個(gè)步驟:

  • 根據(jù) HTML 解析出 DOM 樹
  • 根據(jù) CSS 解析生成 CSS 規(guī)則樹
  • 結(jié)合 DOM 樹和 CSS 規(guī)則樹,生成渲染樹
  • 根據(jù)渲染樹計(jì)算每一個(gè)節(jié)點(diǎn)的信息
  • 根據(jù)計(jì)算好的信息繪制頁面

1.根據(jù) HTML 解析 DOM 樹

  • 根據(jù) HTML 的內(nèi)容,將標(biāo)簽按照結(jié)構(gòu)解析成為 DOM 樹,DOM 樹解析的過程是一個(gè)深度優(yōu)先遍歷。即先構(gòu)建當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn),再構(gòu)建下一個(gè)兄弟節(jié)點(diǎn)。
  • 在讀取 HTML 文檔,構(gòu)建 DOM 樹的過程中,若遇到 script 標(biāo)簽,則 DOM 樹的構(gòu)建會(huì)暫停,直至腳本執(zhí)行完畢。

2.根據(jù) CSS 解析生成 CSS 規(guī)則樹

  • 解析 CSS 規(guī)則樹時(shí) js 執(zhí)行將暫停,直至 CSS 規(guī)則樹就緒。
  • 瀏覽器在 CSS 規(guī)則樹生成之前不會(huì)進(jìn)行渲染。

3.結(jié)合 DOM 樹和 CSS 規(guī)則樹,生成渲染樹

  • DOM 樹和 CSS 規(guī)則樹全部準(zhǔn)備好了以后,瀏覽器才會(huì)開始構(gòu)建渲染樹。
  • 精簡 CSS 并可以加快 CSS 規(guī)則樹的構(gòu)建,從而加快頁面相應(yīng)速度。

4.根據(jù)渲染樹計(jì)算每一個(gè)節(jié)點(diǎn)的信息(布局)

  • 布局:通過渲染樹中渲染對象的信息,計(jì)算出每一個(gè)渲染對象的位置和尺寸
  • 回流:在布局完成后,發(fā)現(xiàn)了某個(gè)部分發(fā)生了變化影響了布局,那就需要倒回去重新渲染。

5.根據(jù)計(jì)算好的信息繪制頁面

  • 繪制階段,系統(tǒng)會(huì)遍歷呈現(xiàn)樹,并調(diào)用呈現(xiàn)器的“paint”方法,將呈現(xiàn)器的內(nèi)容顯示在屏幕上。
  • 重繪:某個(gè)元素的背景顏色,文字顏色等,不影響元素周圍或內(nèi)部布局的屬性,將只會(huì)引起瀏覽器的重繪。
  • 回流:某個(gè)元素的尺寸發(fā)生了變化,則需重新計(jì)算渲染樹,重新渲染。

七、斷開連接

當(dāng)數(shù)據(jù)傳送完畢,需要斷開 tcp 連接,此時(shí)發(fā)起 tcp 四次揮手

Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?,Linux系統(tǒng)編程,職場和發(fā)展,后端文章來源地址http://www.zghlxwxcb.cn/news/detail-598798.html

  • 發(fā)起方向被動(dòng)方發(fā)送報(bào)文,F(xiàn)in、Ack、Seq,表示已經(jīng)沒有數(shù)據(jù)傳輸了。并進(jìn)入 FIN_WAIT_1 狀態(tài)。(第一次揮手:由瀏覽器發(fā)起的,發(fā)送給服務(wù)器,我請求報(bào)文發(fā)送完了,你準(zhǔn)備關(guān)閉吧)
  • 被動(dòng)方發(fā)送報(bào)文,Ack、Seq,表示同意關(guān)閉請求。此時(shí)主機(jī)發(fā)起方進(jìn)入 FIN_WAIT_2 狀態(tài)。(第二次揮手:由服務(wù)器發(fā)起的,告訴瀏覽器,我請求報(bào)文接受完了,我準(zhǔn)備關(guān)閉了,你也準(zhǔn)備吧)
  • 被動(dòng)方向發(fā)起方發(fā)送報(bào)文段,F(xiàn)in、Ack、Seq,請求關(guān)閉連接。并進(jìn)入 LAST_ACK 狀態(tài)。(第三次揮手:由服務(wù)器發(fā)起,告訴瀏覽器,我響應(yīng)報(bào)文發(fā)送完了,你準(zhǔn)備關(guān)閉吧)
  • 發(fā)起方向被動(dòng)方發(fā)送報(bào)文段,Ack、Seq。然后進(jìn)入等待 TIME_WAIT 狀態(tài)。被動(dòng)方收到發(fā)起方的報(bào)文段以后關(guān)閉連接。發(fā)起方等待一定時(shí)間未收到回復(fù),則正常關(guān)閉。(第四次揮手:由瀏覽器發(fā)起,告訴服務(wù)器,我響應(yīng)報(bào)文接受完了,我準(zhǔn)備關(guān)閉了,你也準(zhǔn)備吧)

到了這里,關(guān)于Linux·從 URL 輸入到頁面展現(xiàn)到底發(fā)生什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從輸入url到頁面展現(xiàn)(二)找服務(wù)器其實(shí)是在找IP地址

    從輸入url到頁面展現(xiàn)(二)找服務(wù)器其實(shí)是在找IP地址

    前言 前一節(jié)我們講述了 url的規(guī)則 ,url的幾種 類型 ,以及訪問web服務(wù)器的時(shí)候,如果用戶訪問的url 如果不包含index.html 的話,大概會(huì)如何去尋找這個(gè)url對應(yīng)的文件,如果感興趣的同學(xué)可以回頭去看上一篇:從輸入url到頁面展現(xiàn)(一)從瀏覽器解析url開始 下面開始本小節(jié)的知

    2023年04月17日
    瀏覽(22)
  • 在瀏覽器輸入U(xiǎn)RL后發(fā)生了什么?

    在瀏覽器輸入U(xiǎn)RL后發(fā)生了什么?

    在瀏覽器輸入U(xiǎn)RL并獲取響應(yīng)的過程,其實(shí)就是瀏覽器和該url對應(yīng)的服務(wù)器的網(wǎng)絡(luò)通信過程。 從封裝的角度來講,瀏覽器和web服務(wù)器執(zhí)行以下動(dòng)作:(簡單流程) 1、瀏覽器先分析超鏈接中的URL:分析域名是否規(guī)范 2、瀏覽器向DNS請求解析請求解析http://www.sxtyu.com/index.html中的ip地

    2024年02月09日
    瀏覽(25)
  • 瀏覽器輸入一個(gè)URL之后發(fā)生了什么?

    瀏覽器輸入一個(gè)URL之后發(fā)生了什么?

    URL解析 DNS解析 TCP連接 TSL連接 HTTP請求 TCP揮手 接收并解析響應(yīng) 主要分為: 協(xié)議,eg http,https 域名或者ip地址,eg www.baidu.com 域名相對于ip地址來說,更方便人們記憶,但是實(shí)際的網(wǎng)絡(luò)傳輸中使用的是ip地址 端口號,不同的協(xié)議對應(yīng)不同的端口號,一般可以不寫,eg http是80,h

    2024年02月11日
    瀏覽(25)
  • 瀏覽器地址欄輸入url以后發(fā)生了什么

    1.DNS對域名進(jìn)行解析; 2.建立TCP連接(三次握手); 3.發(fā)送HTTP請求; 4.服務(wù)器處理請求; 5.返回響應(yīng)結(jié)果; 6.關(guān)閉TCP連接(四次揮手); 7.瀏覽器解析HTML; 8.瀏覽器布局渲染; 1.瀏覽器對輸入的地址補(bǔ)全,然后DNS域名解析 ?如果你搜索的是baidu.com的時(shí)候,實(shí)際訪問的還是h

    2024年02月13日
    瀏覽(22)
  • 從輸入U(xiǎn)RL到網(wǎng)頁顯示,期間發(fā)生了什么(詳解)

    從輸入U(xiǎn)RL到網(wǎng)頁顯示,期間發(fā)生了什么(詳解)

    Internet上的每一個(gè)網(wǎng)頁都具有一個(gè)唯一的名稱標(biāo)識(shí),通常稱之為 URL (Uniform Resource Locator, 統(tǒng)一資源定位器)。它是www的統(tǒng)一資源定位標(biāo)志,簡單地說URL 就是web地址,俗稱“網(wǎng)址”。 URL格式 首先瀏覽器的第一步是對URL進(jìn)行解析 ,從而 發(fā)送給Web服務(wù)器的請求信息。 假如說 沒有

    2023年04月08日
    瀏覽(20)
  • 說說地址欄輸入 URL 敲下回車后發(fā)生了什么?

    說說地址欄輸入 URL 敲下回車后發(fā)生了什么?

    簡單的分析,從輸入? URL 到回車后發(fā)生的行為如下: URL解析 DNS 查詢 TCP 連接 HTTP 請求 響應(yīng)請求 頁面渲染 首先判斷你輸入的是一個(gè)合法的 URL ?還是一個(gè)待搜索的,并且根據(jù)你輸入的內(nèi)容進(jìn)行對應(yīng)操作 URL 的解析第過程中的第一步,一個(gè) url 的結(jié)構(gòu)解析如下: 在之前文

    2024年04月08日
    瀏覽(19)
  • 在瀏覽器中輸入U(xiǎn)RL后都會(huì)發(fā)生什么

    瀏覽器補(bǔ)全地址和DNS對域名進(jìn)行解析; 1當(dāng)搜索baidu.com,實(shí)際訪問的是http://www.baidu.com,瀏覽器會(huì)補(bǔ)全地址。 因?yàn)橐粋€(gè)URL由協(xié)議、主機(jī)名、路徑、搜索內(nèi)容、哈希組成。 2DNS解析過程:客戶機(jī)先插本地緩存,找不到再將域名發(fā)到DNS服務(wù)器,它先查它管理的區(qū)域,如果就查本地緩

    2024年02月16日
    瀏覽(31)
  • ChatGPT 被大面積封號,到底發(fā)生什么了?

    ChatGPT 被大面積封號,到底發(fā)生什么了?

    意大利數(shù)據(jù)保護(hù)機(jī)表示 OpenAI 公司不但非法收集大量意大利用戶個(gè)人數(shù)據(jù),沒有設(shè)立檢查 ChatGPT 用戶年齡的機(jī)制。 ChatGPT 似乎正在遭遇一場滑鐵盧。 3月31日, 大量用戶在社交平臺(tái)吐槽,自己花錢開通的 ChatGPT 賬戶已經(jīng)無法登錄,更無語的是還不能注冊新賬號。隨著越來越多用

    2023年04月08日
    瀏覽(22)
  • CSDN文章點(diǎn)贊、收藏、評論后到底發(fā)生了什么?簡要分析HTTP交互機(jī)制

    CSDN文章點(diǎn)贊、收藏、評論后到底發(fā)生了什么?簡要分析HTTP交互機(jī)制

    作者:Eason_LYC 悲觀者預(yù)言失敗,十言九中。 樂觀者創(chuàng)造奇跡,一次即可。 一個(gè)人的價(jià)值,在于他擁有的,而不是他會(huì)的。所以可以不學(xué)無數(shù),但不能一無所有! 技術(shù)領(lǐng)域:WEB安全、網(wǎng)絡(luò)攻防 關(guān)注WEB安全、網(wǎng)絡(luò)攻防。我的專欄文章知識(shí)點(diǎn)全面細(xì)致,邏輯清晰、結(jié)合實(shí)戰(zhàn),讓

    2024年02月21日
    瀏覽(22)
  • 微信小程序 - 實(shí)時(shí)監(jiān)聽路由發(fā)生變化,當(dāng)頁面跳轉(zhuǎn)發(fā)生變化時(shí)執(zhí)行一段代碼或函數(shù),可獲取目標(biāo)頁面的路徑 URL 、路由參數(shù)、跳轉(zhuǎn)方式、該頁面的配置等(支持 “全局“ 和 “局部“ 兩種寫法)

    微信小程序 - 實(shí)時(shí)監(jiān)聽路由發(fā)生變化,當(dāng)頁面跳轉(zhuǎn)發(fā)生變化時(shí)執(zhí)行一段代碼或函數(shù),可獲取目標(biāo)頁面的路徑 URL 、路由參數(shù)、跳轉(zhuǎn)方式、該頁面的配置等(支持 “全局“ 和 “局部“ 兩種寫法)

    有時(shí)候,我們需要實(shí)時(shí)監(jiān)聽頁面的跳轉(zhuǎn),并且拿到路由地址及參數(shù)。 實(shí)現(xiàn)了 在微信小程序開發(fā)中,每次切換頁面時(shí)都觸發(fā)一個(gè)函數(shù),當(dāng)路由發(fā)生變化后執(zhí)行一段代碼, 簡單來說,相當(dāng)于一個(gè) “路由監(jiān)聽器”,當(dāng)頁面跳轉(zhuǎn)時(shí)立即觸發(fā),然后拿到路由的 URL 和攜帶的參數(shù),進(jìn)行

    2024年02月12日
    瀏覽(57)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包