url輸入到頁面展現(xiàn)的過程大概分為以下幾步:
1.瀏覽器中輸入url
2.域名解析
3.服務(wù)器處理
4.網(wǎng)站處理
5.瀏覽器處理
6.繪制網(wǎng)站
一攀涵、url是什么
URL(Uniform Resource Locator的縮寫闯狱,統(tǒng)一資源定位符)用于定位互聯(lián)網(wǎng)上的資源谎替。互聯(lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL逮栅,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它悴势。
基本URL包含協(xié)議、服務(wù)器名稱(或IP地址)措伐、路徑和文件名特纤。
常見的協(xié)議有http、https侥加、ftp捧存、file。
二担败、域名解析
域名解析是把域名解析為IP地址昔穴。
什么是IP地址?
IP地址是一個(gè)32位二進(jìn)制數(shù)的地址, 由4個(gè)8位字段組成氢架,是IP協(xié)議提供的一種統(tǒng)一的地址格式傻咖。它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址。
什么是域名岖研?
由于IP地址是數(shù)字標(biāo)識(shí),使用時(shí)難以記憶和書寫警检,因此在IP地址的基礎(chǔ)上又發(fā)展出一種符號(hào)化的地址方案孙援,來代替數(shù)字型的IP地址。每一個(gè)符號(hào)化的地址都與特定的IP地址對(duì)應(yīng)扇雕,這樣網(wǎng)絡(luò)上的資源訪問起來就容易得多了拓售。這個(gè)與網(wǎng)絡(luò)上的數(shù)字型IP地址相對(duì)應(yīng)的字符型地址,就被稱為域名镶奉。
什么DNS?
DNS(Domain Name System础淤,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫哨苛,能夠使用戶更方便的訪問互聯(lián)網(wǎng)鸽凶,而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過主機(jī)名建峭,最終得到該主機(jī)名對(duì)應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)玻侥。
域名解析流程如下:
1.瀏覽器緩存 – 瀏覽器會(huì)緩存DNS記錄一段時(shí)間
2.系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對(duì)應(yīng)IP。
3.路由器緩存 – 一般路由器也會(huì)緩存域名信息亿蒸。
4.ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存凑兰。
5.向根域名服務(wù)器查找域名對(duì)應(yīng) IP掌桩,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),直到找到IP
三姑食、服務(wù)器處理
服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器波岛,常見的系統(tǒng)如Linux、windows server2012等
系統(tǒng)里安裝的處理請(qǐng)求的應(yīng)用叫 Web server(web服務(wù)器)
常見的web服務(wù)器有 Apache音半、Nginx则拷、IIS、Lighttpd
web服務(wù)器接收用戶的Request交給網(wǎng)站代碼祟剔,或者接受請(qǐng)求反向代理到其他web服務(wù)器
四隔躲、網(wǎng)站處理
MVC 模型(model)-視圖(view)-控制器(controller)
五、瀏覽器處理
HTML字符串被瀏覽器接受后被一句句讀取解析
解析到link 標(biāo)簽后重新發(fā)送請(qǐng)求獲取css
解析到 script標(biāo)簽后發(fā)送請(qǐng)求獲取 js物延,并執(zhí)行代碼
解析到img 標(biāo)簽后發(fā)送請(qǐng)求獲取圖片資源
六宣旱、繪制網(wǎng)頁
瀏覽器根據(jù) HTML 和 CSS 計(jì)算得到渲染樹,繪制到屏幕上叛薯,js會(huì)被執(zhí)行浑吟。