查閱資料后,在stackoverflow上找到一個(gè)好答案,現(xiàn)在嘗試翻譯一下
(原文鏈接what happens when you type in a URL in browser [closed])
要知道從 URL 輸入后瀏覽器發(fā)生了什么,在最簡(jiǎn)單的描述中,我們假設(shè) HTTP 請(qǐng)求沒(méi)有代理,沒(méi)有 IPv4 ,所有步驟沒(méi)有問(wèn)題:
- 瀏覽器檢查緩存,如果請(qǐng)求對(duì)象在緩存里并且是新的,那么跳到步驟9
- 瀏覽器向系統(tǒng)請(qǐng)求服務(wù)器的 IP 地址
- 系統(tǒng)進(jìn)行 DNS 查找,并將 IP 地址返回給瀏覽器
- 瀏覽器與服務(wù)器建立 TCP 連接(這一步很復(fù)雜因?yàn)橛玫搅?br> HTTPS 。三次握手,若有一次任何一方收不到信息那么將會(huì)重新發(fā)起 TCP 連接)
- 瀏覽器通過(guò) TCP 連接發(fā)送 HTTP 請(qǐng)求
- 瀏覽器接收 HTTP 請(qǐng)求的響應(yīng),并將關(guān)閉 TCP 連接或者發(fā)起請(qǐng)求
- 瀏覽器檢查響應(yīng)是重定向還是條件響應(yīng)(這里會(huì)返回狀態(tài)碼:3xx結(jié)果狀態(tài)代碼),授權(quán)請(qǐng)求(401),錯(cuò)誤(4xx和5xx)等;這些與正常響應(yīng)(2xx)的處理方式不同
- 如果可以緩存,那么響應(yīng)會(huì)保存在緩存中
- 瀏覽器解碼響應(yīng)
- 瀏覽器確定如何處理響應(yīng)(例如,它是HTML頁(yè)面,它是一個(gè)圖像,它是一個(gè)聲音文件嗎?)
- 瀏覽器展現(xiàn)響應(yīng),或彈出無(wú)法識(shí)別的類(lèi)型的對(duì)話(huà)框
當(dāng)然還有一個(gè)更加詳細(xì)的版本,從計(jì)算機(jī)硬件開(kāi)始講起。(點(diǎn)擊拓展閱讀)
最后向大家分享一個(gè)vscode的設(shè)置,將git-bash集成到vscode中。

QQ截圖20170505095127.png