URL是什么
URL(Uniform Resoure Locator 統(tǒng)一資源定位器)是WWW網(wǎng)頁的地址冷溃,好比一個街道在城市地圖上地址。url使用數(shù)字和字母按一定順序排列以確定一個地址宛官。
URL:對應(yīng)的有協(xié)議,域名,端口號吓歇,還有其他的相關(guān)信息雳窟。
URL從左到右由下述部分組成:
Internet資源類型(scheme):指出WWW 客戶程序用來C作的工具尊浪。如“http://”表示W(wǎng)WW服務(wù)器,“ftp://”表示FTP服務(wù)器涩拙,“gopher://”表示Gopher服務(wù)器际长,而“new:”表示Newgroup新聞組.
服務(wù)器地址(host):指出WWW 網(wǎng)頁所在的服務(wù)器域名。
端口(port):有時(并非總是這樣)兴泥,對某些資源的訪問來說工育,需給出相應(yīng)的服務(wù)器提供端口號。
路徑(path):指明服務(wù)器上某資源的位置(其格式與DOS系統(tǒng)中的格式一樣搓彻,通常有目錄/子目錄/文件名這樣結(jié)構(gòu)組成)如绸。與端口一樣,路徑并非總是需要的旭贬。
http怔接、https、ftp稀轨、file 協(xié)議:
- http://jirengu.com/blog:指用于找到網(wǎng)絡(luò)上的某個資源
- file://Users/hunger/workspace/a.html:指用于定義本地電腦上的協(xié)議
- https://10.245.23.456:3000/users:指經(jīng)過加密傳輸扼脐,以達到不被人攔截
- //jirengu.com/static/imgs/a.png :指和當(dāng)前的頁面的協(xié)議保持一致
域名解析:
對于 http://jirengu.com的URL,瀏覽器實際上不知道 jirengu.com到底是什么東西奋刽,
需要查找jirengu.com網(wǎng)站所在服務(wù)器的IP地址瓦侮,才能找到目標
域名解析
通過一種方式,把這個地址解析成對應(yīng)的IP
為什么要發(fā)明域名佣谐,不直接用IP?
因為域名好記肚吏,有一個語義化得作用。
域名是什么:
對于http://jirengu.com:8080/blog , jirengu.com就是域名
IP地址是什么:
每個處于互聯(lián)網(wǎng)中的設(shè)備都有IP 地址狭魂,形如 192.168.0.1
局域網(wǎng) IP 和公網(wǎng) IP 是有差別的
127.0.0.1代表本機的 IP罚攀。
域名解析的流程:
瀏覽器緩存 – 瀏覽器會緩存DNS記錄一段時間:指曾經(jīng)訪問過這個地址
系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對應(yīng) IP。:第一次訪問新的地址
路由器緩存 – 一般路由器也會緩存域名信息雌澄。
ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存斋泄。
如果都沒有找到,則向根域名服務(wù)器查找域名對應(yīng) IP掷伙,根域名服務(wù)器把請求轉(zhuǎn)發(fā)到下一級是己,知道找到 IP
,這樣就危害很大任柜。
服務(wù)器處理
服務(wù)器是一臺安裝系統(tǒng)的機器卒废,常見的系統(tǒng)如Linux沛厨、windows server 2012
系統(tǒng)里安裝的處理請求的應(yīng)用叫 Web server
Web服務(wù)器:
常見的 web服務(wù)器有 Apache、Nginx摔认、IIS逆皮、Lighttpd
web服務(wù)器接收用戶的Request 交給網(wǎng)站代碼,或者接受請求反向代理到其他 web服務(wù)器
web服務(wù)器.:就是一個管理的入口参袱,工具电谣,或者是一個管理者∧ㄊ矗可以去處理各種請求
網(wǎng)站處理流程
MVC 模型(model)-視圖(view)-控制器(controller)
瀏覽器處理
HTML字符串被瀏覽器接受后被一句句讀取解析
解析到link 標簽后重新發(fā)送請求獲取css
解析到 script標簽后發(fā)送請求獲取 js剿牺,并執(zhí)行代碼
解析到img 標簽后發(fā)送請求獲取圖片資源
繪制網(wǎng)頁
瀏覽器根據(jù) HTML 和 CSS 計算得到渲染樹,繪制到屏幕上js 會被執(zhí)行
文章參考了饑人谷教學(xué)視頻《從URL輸入到頁面展現(xiàn)》,以及PPT
從 URL 輸入到頁面展現(xiàn)發(fā)生了什么环壤?