從URL輸入到頁面展現

第一步. 在瀏覽器輸入URL

·什么是URL

? URL(Uniform Resource Locator:統一資源定位器)用于定位互聯網上的資源

是WWW頁的地址,它從左到右由下述部分組成:

? ·Internet資源類型(scheme):指出WWW客戶程序用來操作的工具。如“http://”表示WWW服務器,“ftp://”表示FTP服務器,“gopher://”表示Gopher服務器,而“new:”表示Newgroup新聞組

? ·服務器地址(host):指出WWW頁所在的服務器域名。

 ?·端口(port):有時(并非總是這樣),對某些資源的訪問來說,需給出相應的服務器提供端口號。

 ?·路徑(path):指明服務器上某資源的位置(其格式與DOS系統中的格式一樣,通常有目錄/子目錄/文件名這樣結構組成)。與端口一樣,路徑并非總是需要的。

  URL地址格式排列為:scheme://host:port/path,例如http://www.sohu.com/domain/HXWZ就是一個典型的URL地址。

它有如下 http、https、ftp、file 協議

? ? http 線上網站

? ? file ?本地

? ? https 經過了安全加密處理的http協議

? ? // ?相對于該網頁,如果網頁為http 則代表了 http目錄下;如果為本地,那么該網頁就是file的地址

? ? 在地址欄,輸入相應地址就可進入該網站  例如:輸入www.baidu.com 則進入百度

第二步. 域名解析

? ? 對于http://www.baidu.com的URL,瀏覽器實際上不知道www.baidu.com到底是什么東西,需要查找www.baidu.com網站所在服務器的IP地址,才能找到目標

為什么要發明域名,不直接用IP?

方便記憶

? ? 域名是什么?

? ? 對于http://www.baidu.com:8080/blog,www.baidu.com就是域名

IP地址是什么?

? ? IP地址是在網絡上分配給每臺計算機或網絡設備的32位數字標識。在Internet上,每臺計算機或網絡設備的IP地址是全世界唯一的。IP地址的格式是 xxx.xxx.xxx.xxx,其中xxx是 0 到 255 之間的任意整數。例如,每步站主機的IP地址是 219.134.132.131。

? ? 每一臺聯網的計算機無權自行設定IP地址,有一個統一的機構—IANA負責對申請的組織分配唯一的網絡ID,而該組織可以對自己的網絡中的每一個主機分配一個唯一的主機ID,正如一個單位無權決定自己在所屬城市的街道名稱和門牌號,但可以自主決定本單位內部的各個辦公室編號一樣。

? ? 分為公網和局域網

? ? 每個處于互聯網中的設備都有IP 地址,形如192.168.0.1

? ? 局域網 IP 和公網 IP 是有差別的

? ? 127.0.0.1代表本機的 IP

域名解析的流程

? ? 瀏覽器緩存 – 瀏覽器會緩存DNS記錄一段時間

? ? 系統緩存 - 從 Hosts 文件查找是否有該域名和對應 IP。

? ? 路由器緩存 – 一般路由器也會緩存域名信息。

? ? ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存。

? ? 如果都沒有找到,則向根域名服務器查找域名對應 IP,根域名服務器把請求轉發到下一級,知道找到 IP

Question:電腦上不了網,為什么修改dns為8.8.8.8 或者114.114.114.114?

dns 劫持是什么?

Answer:之所以連不上網,就是因為DNS混亂,所以改為8.8.8.8直接訪問谷歌,即可解決,114.114.114.114是國內一個比較大的運營網站。

? ? DNS劫持,會讓一些偽站冒充正規網址,因為域名都一樣,所以很容易上當受騙

第三步. 服務器處理

? ? 服務器是一臺安裝系統的機器,常見的系統如Linux、windows server 2012

? ? 系統里安裝的處理請求的應用叫 Web server

Web服務器

? ? 常見的 web服務器有 Apache、Nginx、IIS、Lighttpd

? ? web服務器接收用戶的Request 交給網站代碼,或者接受請求反向代理到其他 web服務器。

第四步. 網站處理流程

? ? MVC 模型(model)-視圖(view)-控制器(controller)


第五步. 瀏覽器處理

? ? HTML字符串被瀏覽器接受后被一句句讀取解析

? ? 解析到link 標簽后重新發送請求獲取css

? ? 解析到 script標簽后發送請求獲取 js,并執行代碼

? ? 解析到img 標簽后發送請求獲取圖片資源

第六步. 繪制網頁

? ? 瀏覽器根據 HTML 和 CSS 計算得到渲染樹,繪制到屏幕上

? ? js 會被執行

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容