http是一種協(xié)議,計(jì)算機(jī)(其他終端也可以)只有通過遵守這種協(xié)議才能進(jìn)行彼此的相互通信
HTTP流程
大致流程
- http客戶端發(fā)起請求,創(chuàng)建端口
- http服務(wù)器在端口監(jiān)聽客戶端請求
- http服務(wù)器向客戶端返回狀態(tài)和內(nèi)容
具體流程(以Chrome為例)
- Chrome搜索自身的DNS緩存(可以通過chrome://net-internals/#dns查詢)
- 搜索操作系統(tǒng)自身的DNS緩存(瀏覽器沒有找到緩存或緩存已經(jīng)失效)
- 讀取本地的HOST文件(windows在C:\Windows\System32\drivers\etc )
- 瀏覽器發(fā)起一個(gè)DNS的一個(gè)系統(tǒng)調(diào)用(向本地主控DNS服務(wù)器(一般是寬帶運(yùn)營商提供)發(fā)起的一個(gè)域名解析請求)
寬帶運(yùn)營商的DNS服務(wù)器
- 寬帶運(yùn)營商服務(wù)器查看本身緩存
- 運(yùn)營商服務(wù)器發(fā)起一個(gè)迭代DNS解析的請求(首先找根域的DNS IP地址)
運(yùn)營商服務(wù)器把結(jié)果返回操作系統(tǒng)內(nèi)核同時(shí)緩存起來
操作系統(tǒng)內(nèi)核把結(jié)果返回瀏覽器
最終瀏覽器拿到xxxxx對應(yīng)的IP地址
5.瀏覽器獲得域名對應(yīng)的IP地址后,發(fā)起HTTP”三次握手“
- image.png
- image.png
- image.png
- image.png

image.png

image.png

image.png

image.png



