從打開(kāi)一個(gè)網(wǎng)址說(shuō)起

當(dāng)在瀏覽器中輸入一個(gè)網(wǎng)址的時(shí)候,瀏覽器會(huì)渲染出對(duì)應(yīng)的網(wǎng)頁(yè)的內(nèi)容。作為web開(kāi)發(fā)人員來(lái)說(shuō),應(yīng)該知道這個(gè)過(guò)程:

  1. 當(dāng)輸入的一個(gè)網(wǎng)址為域名的時(shí)候,瀏覽器則根據(jù)本機(jī)的網(wǎng)關(guān)和DNS服務(wù)器來(lái)解析出訪問(wèn)的真正的IP地址。如果是直接訪問(wèn)IP則直接與服務(wù)器通信,發(fā)送請(qǐng)求。 請(qǐng)求原理簡(jiǎn)單如下:

    Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)
    (此處只是簡(jiǎn)單表示下域名解析原理,解析過(guò)程比這個(gè)復(fù)雜的多。)

  2. 發(fā)送請(qǐng)求的時(shí)候會(huì)經(jīng)歷TCP三次握手過(guò)程(http也是基于TCP的協(xié)議),當(dāng)TCP連接建立成功后,瀏覽器會(huì)根據(jù)http協(xié)議,把請(qǐng)求的內(nèi)容封裝成請(qǐng)求報(bào)文,發(fā)送給web服務(wù)器.

  3. 服務(wù)器會(huì)根據(jù)請(qǐng)求的報(bào)文的內(nèi)容,執(zhí)行對(duì)應(yīng)的程序和讀取對(duì)應(yīng)的文件,按照http協(xié)議的規(guī)則返回響應(yīng)內(nèi)容(包括header和body)。

  4. 服務(wù)器根據(jù)響應(yīng)頭來(lái)解析響應(yīng)的內(nèi)容,完成html+css+js的渲染和執(zhí)行。

http協(xié)議

HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫(xiě),是用于從萬(wàn)維網(wǎng)(WWW:World Wide Web )服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。

用簡(jiǎn)單的話來(lái)說(shuō),當(dāng)客戶端與服務(wù)器端通信的時(shí)候,需要傳輸?shù)膬?nèi)容有(HTML 文件,js+css, 圖片,文本, 查詢結(jié)果等),http協(xié)議把內(nèi)容傳輸規(guī)范化??梢噪S便查看下一個(gè)http協(xié)議的內(nèi)容:

網(wǎng)友評(píng)論