一個(gè)完整的請(qǐng)求響應(yīng)過程
當(dāng)我們打開瀏覽器蜗细,輸入www.baidu.com然后按下回車鍵收奔,然后百度的頁面就完整的展現(xiàn)給我們了定硝。那么從按下回車鍵到頁面展示之間到底發(fā)生什么事晨雳?下面我給大家簡單描述一下续挟。
首先要知道兩個(gè)問題:
ip是什么紧卒?
每臺(tái)處于互聯(lián)網(wǎng)的設(shè)備都有一個(gè)ip地址,而要找到該設(shè)備只需要找到ip地址即可
域名是什么诗祸?
baidu.com是百度的域名跑芳,www.baidu.com就是百度的網(wǎng)站名了。
ip和域名有什么關(guān)系呢直颅?
一個(gè)ip可對(duì)應(yīng)一個(gè)域名
一個(gè)ip可對(duì)應(yīng)不同的域名(需要在web server里配置不同的端口給域名)
按下回車鍵后
(1)瀏覽器會(huì)迅速解析域名并在瀏覽器DNS緩存中尋找此域名對(duì)應(yīng)的ip地址博个,如果沒有找到(2)會(huì)去系統(tǒng)緩存中去尋找也就是從host文件中尋找域名及對(duì)應(yīng)的ip(3)下一個(gè)尋找的地方是路由器,路由器也會(huì)緩存域名信息(4)運(yùn)營商DNS服務(wù)器(電信功偿、移動(dòng)等等)
以上四個(gè)地方都沒有找到那么就會(huì)去根域名服務(wù)器去查找對(duì)應(yīng)ip盆佣,根域名服務(wù)器會(huì)把請(qǐng)求發(fā)到下一級(jí),直到找到為止械荷。
找到ip以后瀏覽器開始向ip發(fā)送請(qǐng)求共耍,web服務(wù)器開始接受請(qǐng)求并交給相應(yīng)的應(yīng)用去處理。
前端控制器會(huì)將請(qǐng)求委托給控制器吨瞎,控制器從模型獲取相應(yīng)的數(shù)據(jù)并返回給前端控制器去進(jìn)行視圖渲染痹兜,最后響應(yīng)給瀏覽器去解析。
為什么要用域名不直接使用ip呢颤诀?
ip是一串?dāng)?shù)字的組合不易記住字旭,而域名言簡意賅容易記住对湃。
`