第一步. 在瀏覽器輸入U(xiǎn)RL
URL是什么
URL: 統(tǒng)一資源定位符符相,用于定位互聯(lián)網(wǎng)上的資源
http、https帘靡、ftp淆攻、file 協(xié)議
第二步. 域名解析
對(duì)于 http://jirengu.com
的URL,瀏覽器實(shí)際上不知道 jirengu.com
到底是什么東西已日,需要查找jirengu.com
網(wǎng)站所在服務(wù)器的IP地址垛耳,才能找到目標(biāo)
為什么要發(fā)明域名,不直接用IP?
域名是什么
對(duì)于http://jirengu.com:8080/blog
, jirengu.com
就是域名
IP地址是什么
每個(gè)處于互聯(lián)網(wǎng)中的設(shè)備都有IP 地址飘千,形如 192.168.0.1
局域網(wǎng) IP 和公網(wǎng) IP 是有差別的
127.0.0.1
代表本機(jī)的 IP
第三步. 服務(wù)器處理
服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器堂鲜,常見(jiàn)的系統(tǒng)如Linux、windows server 2012
系統(tǒng)里安裝的處理請(qǐng)求的應(yīng)用叫 Web server
Web服務(wù)器
常見(jiàn)的 web服務(wù)器有 Apache护奈、Nginx缔莲、IIS、Lighttpd
web服務(wù)器接收用戶的Request 交給網(wǎng)站代碼霉旗,或者接受請(qǐng)求反向代理到其他 web服務(wù)器
第四步. 網(wǎng)站處理流程
MVC 模型(model)-視圖(view)-控制器(controller)
瀏覽器向 /users 發(fā)送請(qǐng)求痴奏;
Rails 的路由把 /users 交給 Users 控制器的 index 動(dòng)作處理;
index 動(dòng)作要求 User 模型讀取所有用戶(User.all)厌秒;
User 模型從數(shù)據(jù)庫(kù)中讀取所有用戶读拆;
User 模型把所有用戶組成的列表返回給控制器;
控制器把所有用戶賦值給 @users 變量鸵闪,然后傳入 index 視圖檐晕;
視圖使用嵌入式 Ruby 把頁(yè)面渲染成 HTML;
控制器把 HTML 送回瀏覽器