URL
URL統一資源定位符,用於互聯網上不同的資源的標識,就像不同的人有不同的身份證一樣。
URL的組成
- 協議
- 域名 (有時候也是ip,)
- 端口號(數字表示,若爲HTTP的默認值“:80”可省略)
- 路徑(以“/”字符區別路徑中的每一個目錄名稱)
- 查詢(GET模式的窗體參數,以“?”字符爲起點,每個參數以“&”隔開,再以“=”分開參數名稱與數據,通常以UTF8的URL編碼,避開字符衝突的問題)
在瀏覽器輸入url後的訪問
1. 域名解析
瀏覽器會把輸入的域名解析成對應的ip,解析分爲幾部分進行。
- 查看瀏覽器內部緩存,如果查到域名對應的ip,就發送和接受參數和數據
- 查看本機的host文件,瀏覽器會在本機的hosts文件查看是否有對應的ip服務器地址。
- 查看本地路由器的DNS緩存,找到對應的ip
- 查看網絡服務商中DNS服務器
- 查詢根域名下是否存在。
上述5步找到對應的ip地址後 - 詢到目標IP地址後,則開始建立 TCP 三次握手 ,與目標服務器建立連接。
- 通過規定的協議(http)向目標主機發送請求
2. 服務器接收到請求和返回數據
服務器:安裝了系統和web-server的主機,可以理解爲一臺電腦,安裝了系統和軟件來處理數據(硬件)
- 服務器接收到了瀏覽器發送的請求後,根據某個協議,通過web-server把瀏覽器發送的數據進行打包(包含請求頭,ip地址,請求路徑和查詢參數等)
- web-server把數據打包後,發送給網站代碼(比如django、flask、node.js等後端服務)
- 後端服務軟件會根據路徑和查詢參數進行相應處理,返回給瀏覽器對應的數據包(包括http協議組成的代碼。裏面包含頁面的佈局、文字。數據也可能是圖片、腳本程序,反應頭,反應數據,請求頭等)
3. 瀏覽器的接受數據和頁面渲染
- 瀏覽器接收到返回的數據包,根據瀏覽器的渲染機制對相應的數據進行渲染。
- 渲染後的數據,進行相應的頁面呈現和腳步的交互。
上訴3大點1. 域名解析。2.服務器接受。3.瀏覽器的渲染就是用戶輸入一個域名到頁面呈現的內容。
解析服務器中網站代碼處理處理的流程
1.MOV模型
主要是第三步到第七步解析
- 用戶的請求數據通過控制器交給模型來處理(圖中的2)
- 模型根據用戶的請求數據,在數據庫中查詢,調用相應的數據返回給控制器(圖中的345)
- 控制器得到數據庫返回數據後,交給視圖模板填充形成頁面的模板(頁面基本的代碼成型)
- 視圖模板填充好後,把數據反饋給控制器
- 控制器將數據反饋給瀏覽器
- 瀏覽器得到數據後,進行相應的渲染,呈現給用戶。
作者:sunny519111
鏈接:https://www.jianshu.com/p/7aba76d871a6