從用戶打開瀏覽器澎蛛,輸入 baidu.com開始娇唯,到最后頁面出展示百度首頁結束,這中間都發(fā)生了什么呢戒良?
第一步 在瀏覽器輸入url
url是統(tǒng)一資源符体捏,包括http(明文),https(加密)糯崎,ftp几缭,file等。
首先沃呢,用戶在這里輸入了http://baidu.com,這一整串就構成了一個url年栓,這樣就完成了整個過程的第一步。
第二步 域名解析
IP是Internet Protocol外語縮寫薄霜。在因特網中某抓,它是能使連接到網上的所有計算機網絡實現相互通信的一套規(guī)則,規(guī)定了計算機在因特網上進行通信時應當遵守的規(guī)則任何廠家生產的計算機系統(tǒng)惰瓜,只要遵守IP協議就可以與因特網互連互通否副。IP地址具有唯一性。
根據域名 baidu.com 查找所在的IP地址崎坊,才能找到目標备禀,找到目標之后,開始傳用戶的Request奈揍。
域名解析流程大致如下:
1.瀏覽器緩存 - 瀏覽器會緩存DNS記錄一段時間
2.系統(tǒng)緩存 - 從Hosts文件查找是否有該域名和對應IP
3.路由緩存 - 一般路由器也會緩存域名信息
4.ISP DSN緩存 - 比如到電信的DNS上查找域名
5.如果沒找到曲尸,→根據域名服務器查找→請求轉到下一級
第三步 服務器處理
服務器是一臺安裝系統(tǒng)的機器,例如Linux,windows server 2012男翰,其中系統(tǒng)安裝了處理請求的應用 web server
在通過域名解析找到百度后队腐,用戶的Request傳給了百度的web服務器。web服務器在接收到用戶的Request之后奏篙,交給網站代碼,或者接受請求再反向代理到其他web服務器迫淹。
第四步 網站處理流程
MAC模型(model)-視圖(view)-控制器(controller)
瀏覽器發(fā)送請求秘通,經由路由匹配交給控制器,調用模型接口來獲取所需的數據敛熬,再將數據填到視圖中對應的HTML模板肺稀,再傳回瀏覽器。