摘要:用戶輸入網址用戶輸入也就是我們說的網址也是統一資源定義符用于定義互聯網資源比如輸入其中為協議是域名首字母的縮寫形式。因此協議能夠確保數據不會遺失。它的缺點是過程復雜實現困難消耗較多的資源。
1.用戶輸入url網址(URL)
用戶輸入url(也就是我們說的網址,也是統一資源定義符,用于定義互聯網資源)
比如輸入https://www.baidu.com
其中https為協議
baidu.com是域名
www:World Wide Web”首字母的縮寫形式。“WWW”在我國曾被譯為“環球網”、“環球信息網”、“超媒體環球信息網”等,為什么要加,我猜是規范,有些網址不加www也能訪問
有時候域名后面會跟端口號如xxx.com:8080,8080就是端口號
互聯網上的每一臺計算機,都會分配到一個IP地址,規定網絡地址的協議,叫做IP協議。它所定義的地址,就被稱為IP地址,那為什么我們輸入網址而不是IP地址?因為網址是語義化的好記憶,而IP是類似:192.168.1.0,不易人記憶.
IP尋址:瀏覽器根據輸入的網址去尋找它對應的IP地址
首先需了解
DNS(網域名稱系統): 是互聯網的一項服務,它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網,DNS使用TCP和UDP端口53
TCP:為了解決這個問題,提高網絡可靠性,TCP協議就誕生了。這個協議非常復雜,但可以近似認為,它就是有確認機制的UDP協議,每發出一個數據包都要求確認。如果有一個數據包遺失,就收不到確認,發出方就知道有必要重發這個數據包了。因此TCP協議能夠確保數據不會遺失。
它的缺點是過程復雜、實現困難、消耗較多的資源。TCP協議具體實現是"三次握手":如圖:
UDP : 我們必須在數據包中加入端口信息,這就需要新的協議。最簡單的實現叫做UDP協議,UDP數據包,也是由"標頭"和"數據"UDP協議的優點是比較簡單,容易實現.
缺點:可靠性較差,一旦數據包發出,無法知道對方是否收到。
網址到IP地址的轉換,這個過程就是DNS解析,實現了網址到IP地址的轉換,其步驟如下
域名解析:
1.先從瀏覽器緩存里找IP,因為瀏覽器會緩存DNS記錄一段時間
2.如沒找到,再從Hosts文件查找是否有該域名和對應IP
3.如沒找到,再從路由器緩存找
4.如沒好到,再從DNS緩存查找
5.如果都沒找到,瀏覽器域名服務器向根域名服務器(baidu.com)查找域名對應IP,還沒找到就把請求轉發到下一級,直到找到IP
補充:什么是dns劫持:黑客攻擊根域名服務器的節點,發生在上面第四步,從DNS緩存數據庫里找時被惡意改為其他的網址,所以請求到的是其他網址.
3.服務器處理
服務器:是一臺安排了系統的機器,常見的系統如linux,windows server2012,系統里安裝的處理請求應用叫 Web server,常用Web服務器有Apache.
處理流程如圖:
Rails路由匹配網址,通過控制器從數據里取出模型數據,顯示到視圖.簡稱為MVC模式.而前端開發者專注在上圖的視圖view的處理.
4 瀏覽器處理
服務器通過后臺語言程序處理,找到數據返回給瀏覽器,HTML字符串被瀏覽器接受后被一句句讀取解析,解析到link標簽后重新發送請求獲取css,解析到sript標簽后發送請求獲取js,并執行代碼
5.繪制網頁
關于瀏覽器引擎渲染,可以看這個:瀏覽器內核和javascript引擎
瀏覽器根據HTML和CSS計算得到渲染樹,繪制到屏幕上,js會被執行
上述整個請求大致過程如下:涉及到DNS域名解析查找IP過程.
這篇文章涉及的東西太多太復雜,需花很長時間整體,但面試經常被問到,作為一個熱愛前端開發者自然好奇想弄清其中真相.
備注:如需了解IP尋址的細節和htttp協議請點擊:互聯網協議入門(一),互聯網協議入門(二)
參考資料:
阮一峰互聯網協議入門 ;
DNS解析.
—————————————————————————————————————
"聽很多大神說寫博客可以提高技術水平,以后會養成寫博客習慣,也是方便自己復習".
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51271.html
摘要:用戶輸入網址用戶輸入也就是我們說的網址也是統一資源定義符用于定義互聯網資源比如輸入其中為協議是域名首字母的縮寫形式。因此協議能夠確保數據不會遺失。它的缺點是過程復雜實現困難消耗較多的資源。 1.用戶輸入url網址(URL) 用戶輸入url(也就是我們說的網址,也是統一資源定義符,用于定義互聯網資源) 比如輸入https://www.baidu.com 其中https為協議 baidu....
摘要:進行協議會話,瀏覽器客戶端向服務器發送報文。進入網站后臺的服務器處理請求,如等服務器。頁面開始解析渲染,根據規則解析并結合文檔樹進行網頁內容布局和繪制渲染,提供操作并讀取瀏覽器緩存執行事件綁定等,頁面整個展示過程完成。 1 在接收到用戶輸入的網址后,瀏覽器會開啟一個縣城來處理這個請求,對用戶輸入的URL地址進行分析判斷,如果是HTTP協議就按照 HTTP方式來處理。 2 調用瀏覽器...
摘要:進行協議會話,瀏覽器客戶端向服務器發送報文。進入網站后臺的服務器處理請求,如等服務器。頁面開始解析渲染,根據規則解析并結合文檔樹進行網頁內容布局和繪制渲染,提供操作并讀取瀏覽器緩存執行事件綁定等,頁面整個展示過程完成。 1 在接收到用戶輸入的網址后,瀏覽器會開啟一個縣城來處理這個請求,對用戶輸入的URL地址進行分析判斷,如果是HTTP協議就按照 HTTP方式來處理。 2 調用瀏覽器...
摘要:進行協議會話,瀏覽器客戶端向服務器發送報文。進入網站后臺的服務器處理請求,如等服務器。頁面開始解析渲染,根據規則解析并結合文檔樹進行網頁內容布局和繪制渲染,提供操作并讀取瀏覽器緩存執行事件綁定等,頁面整個展示過程完成。 1 在接收到用戶輸入的網址后,瀏覽器會開啟一個縣城來處理這個請求,對用戶輸入的URL地址進行分析判斷,如果是HTTP協議就按照 HTTP方式來處理。 2 調用瀏覽器...
摘要:示例攻擊如何進行下圖展示了攻擊者如何進行攻擊攻擊者利用網站的表單插入惡意字符串到網站數據庫中。恰恰相反,至少有兩種常見的方式,會導致受害者發起針對自己的反射型攻擊。攻擊者精心構造了一個包含惡意字符串的,將其發送給受害者。 原文地址:http://excess-xss.com/。如有翻譯不當之處,歡迎指出 :D 分為四部分: 概述 XSS 攻擊 XSS 防御 總結 第一部分:概述 X...
閱讀 3406·2021-11-25 09:43
閱讀 3464·2021-11-19 09:40
閱讀 2464·2021-10-14 09:48
閱讀 1283·2021-09-09 11:39
閱讀 1920·2019-08-30 15:54
閱讀 2821·2019-08-30 15:44
閱讀 1994·2019-08-29 13:12
閱讀 1542·2019-08-29 12:59