URL是什么
URL(Uniform Resource Locator),統(tǒng)一資源定位符,實際就是網(wǎng)站網(wǎng)址,又稱域名。在茫茫網(wǎng)絡(luò)世界中,瀏覽器就是靠URL來查找定位資源位置。URL包含協(xié)議部分,是瀏覽器和www萬維網(wǎng)之間的溝通方式,它會告訴瀏覽器如何正確在網(wǎng)路上找到資源位置。
URL常見的四種傳輸協(xié)議
- http——超文本傳輸協(xié)議
- https——數(shù)據(jù)經(jīng)過加密的超文本傳輸協(xié)議
- ftp——文件傳輸協(xié)議
- file——主要用于訪問本地計算機中的文件
域名
為了便于記憶或辨識,人們使用域名(https://www.baidu.com) 來登錄網(wǎng)站,每個域名背后有對應(yīng)的IP地址。每個網(wǎng)站就是靠IP來定位的。
IP
IP是因特網(wǎng)中的每臺連接到網(wǎng)絡(luò)的計算機為實現(xiàn)相互通信而遵循的規(guī)則協(xié)議。
IP分為局域網(wǎng)IP(由路由器建立子網(wǎng)分配IP地址)和全網(wǎng)IP(是由國際互聯(lián)網(wǎng)分配的唯一的IP地址,是個靜態(tài)IP地址)。在辦公中常用的飛秋工具,就是使用辦公室局域網(wǎng)IP進行通信的典型表現(xiàn)。每臺計算機的本機IP都是127.0.0.1(即localhost)。
DNS
DNS(Domain Name System,域名系統(tǒng))——記錄域名和IP地址相互映射的信息,人們可以免于記住IP數(shù)串。全國DNS信息可在網(wǎng)上查找到,各省都有對應(yīng)分配不同的IP網(wǎng)段。大型企業(yè)會有自己的DNS服務(wù)器,專門存儲域名和IP的映射關(guān)系,例如為大多數(shù)人熟知的谷歌DNS服務(wù)器,地址8.8.8.8。
域名解析的流程
- 瀏覽器緩存 – 瀏覽器會緩存DNS記錄一段時間。
- 系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對應(yīng) IP。
- 路由器緩存 – 一般路由器也會緩存域名信息。
- ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存。
如果都沒有找到,則向根域名服務(wù)器查找域名對應(yīng) IP,根域名服務(wù)器把請求轉(zhuǎn)發(fā)到下一級,直到找到 IP。
dns劫持:將系統(tǒng)緩存host文件里的域名對應(yīng)的IP改成其他IP,致使用戶訪問該域名是訪問到其他的網(wǎng)站。
服務(wù)器
- 服務(wù)器是一臺安裝系統(tǒng)的機器,常見的系統(tǒng)如Linux、windows server 2012。
- 常見的web服務(wù)器有Apache、Nginx、IIS、Lighttpd等。
- web服務(wù)器接收用戶的Request交給網(wǎng)站代碼,或者接受請求反向代理其他web服務(wù)器。
網(wǎng)站處理
瀏覽器處理
加載
瀏覽器對一個html頁面的加載順序是從上而下的,并在加載過程并行進行解析渲染處理。
- HTML字符串被瀏覽器接受后被一句句讀取解析。
- 解析到link 標(biāo)簽后重新發(fā)送請求獲取css。
- 解析到 script標(biāo)簽后發(fā)送請求獲取 js,并執(zhí)行代碼。
- 解析到img 標(biāo)簽后發(fā)送請求獲取圖片資源。
解析、渲染
解析的過程,其實就是生成解析樹,即dom樹。dom樹是由dom元素及屬性節(jié)點組成,加上css解析的樣式對象和js解析后的動作實現(xiàn)。而渲染,就是將DOM樹進行可視化表示。下一步就來到了繪制網(wǎng)頁的工作階段。
繪制網(wǎng)頁
瀏覽器通過上面步驟計算得到渲染樹,是DOM樹的可視化表示,構(gòu)建渲染樹使頁面以正確的順序繪制出來,遵循一定的渲染規(guī)則,經(jīng)過一系列的渲染工作,實現(xiàn)網(wǎng)站頁面的繪制,由此最終完成了頁面展示。