一、從瀏覽器輸入U(xiǎn)RL
URL(Uniform Resoure Locator) 統(tǒng)一資源定位器。
舉個(gè)栗子:個(gè)人身份證、家里的門牌號(hào)。具有唯一性
標(biāo)準(zhǔn)格式:協(xié)議類型://服務(wù)器地址(必要時(shí)需加上端口號(hào))/路徑/文件名
日常使用:
傳送協(xié)議(http 絕大多網(wǎng)頁(yè)不用輸入http 是因?yàn)榫W(wǎng)頁(yè)內(nèi)容是超文本傳輸協(xié)議文件)
服務(wù)器。(通常是域名或是ip地址)
端口號(hào)。(以數(shù)字方式表示,若為HTTP的默認(rèn)值“:80”可省略)
路徑。(以“/”字符區(qū)別路徑中的每一個(gè)目錄名稱)
查詢。(GET模式的窗體參數(shù),以“?”字符為起點(diǎn),每個(gè)參數(shù)以“&”隔開(kāi),再以“=”分開(kāi)參數(shù)名稱與數(shù)據(jù),通常以UTF8的URL編碼,避開(kāi)字符沖突的問(wèn)題)
二、域名解析
baidu.com 就是一個(gè)域名,但瀏覽器不認(rèn)識(shí)域名,所以需要通過(guò)DNS(域名系統(tǒng))將該域名解析成IP地址。當(dāng)電腦沒(méi)找到該IP地址就會(huì)往上跳,查詢上級(jí)服務(wù)器,還是沒(méi)有,則向根域名服務(wù)器查找域名對(duì)應(yīng) IP,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),直到找到 IP。
為什么要發(fā)明域名,不直接用IP?
簡(jiǎn)單易記,更易分清。
三、服務(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ù)器
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 送回瀏覽器
瀏覽器處理
HTML字符串被瀏覽器接受后被一句句讀取解析
解析到link 標(biāo)簽后重新發(fā)送請(qǐng)求獲取css
解析到 script標(biāo)簽后發(fā)送請(qǐng)求獲取 js,并執(zhí)行代碼
解析到img 標(biāo)簽后發(fā)送請(qǐng)求獲取圖片資源
繪制網(wǎng)頁(yè)
瀏覽器根據(jù) HTML 和 CSS 計(jì)算得到渲染樹(shù),繪制到屏幕上
js 會(huì)被執(zhí)行