读书笔记:《图解HTTP》第一章 网络基础
原文地址
博客積累地址
HTTP的誕生及發展
HTTP是為了知識共享而誕生,最初的設計理念是讓遠隔兩地的研究者們共享知識,借助多文檔之間相互關聯形成的超文本,連成可相互參閱的 WWW(World Wide Web,萬維網)
3項WWW 構建技術
- 作為頁面的文本標記語言 HTML(超文本標記語言)
- 作為文檔傳遞協議的 HTTP
- 指定文檔所在地址的 URL(統一資源定位符)
現在我們都知道在網頁瀏覽器的地址欄中輸入URL可以呈現Web頁面
當然Web頁面不能憑空顯示出來,它是根據瀏覽器輸入的URl,瀏覽器從web服務器獲取文件資源等信息,從而顯示出web頁面
像這種通過發送請求獲取服務資源的web瀏覽器器等,都稱為客戶端(client)
從客戶端到服務器端獲取信息的一系列運作流程,需要雙方規定一些規則,以此來告知雙方自己需要什么消息,我們可以將這些規則理解為HTTP協議,即HTTP協議就是雙方通信的規范。
TCP/IP協議
計算機與網絡設備要相互通信,雙方就必須基于相同的方法。
早期的計算機網絡,都是由各廠商自己規定一套通信協議,互不兼容,帶來不同協議之間無法通信的弊端
為了把世界所有不同類型的計算機連接起來,規定了一套全球通用的協議
因為互聯網協議包括上百種協議標準,但是最重要的兩個協議是TCP和IP協議,所以大家把互聯網的協議簡稱TCP和IP協議
HTTP 屬于TCP/IP協議內部的一個子集、一個協議標準
TCP/IP協議重要的一個概念是分層,我們稱為TCP/IP模型
分層的好處是,如果某個地方有變動,只需改變某層內部,只需把各層的之間的接口部分規劃好,每個層次的內部設計可以隨意改動
TCP/IP模型
| 應用層 | 向用戶提供應用服務時通信的活動;FTP(文件傳輸協議)、DNS服務、HTTP協議等 |
| 傳輸層 | 提供處于網絡連接中計算機之間的數據傳輸;TCP(傳輸控制協議)、UDP(用戶數據報協議) |
| 網絡層 | 規定傳輸路線,傳輸數據包(數據包是網絡傳輸最小的數據單位) |
| 鏈路層 | 處理連接網絡的硬件部分 |
TCP/IP通信傳輸流
TCP/IP協議會通過分層順序與對方進行通信
發送端在層與層之間傳輸數據時,每經過一層時必定會被打上一個該 層所屬的首部信息。反之,接收端在層與層傳輸數據時,每經過一層 時會把對應的首部消去
IP、TCP 和 DNS
IP、TCP 和 DNS 是與HTTP密不可分的三個協議,接下來一一說明
負責傳輸的IP協議
IP協議位于網絡層,它的作用是把各種數據包傳送給對方
而要保證確實傳送到對方那里,需要滿足各類條件;其中兩個重要的條件是IP地址和MAC地址
IP地址指明節點被分配的地址,MAC地址指網卡所屬的固定地址
IP地址可以和MAC地址配對,IP地址可變換,MAC地址基本不會更改
確保可靠性的TCP協議
TCP協議位于傳輸層,提供可靠的字節流服務
字節流服務
字節流服務是指,為了方便傳輸,將大塊數據分割成報文段為單位的數據包進行管理,而TCP協議能夠確認數據最終是否發送到對方
為了保證通信的可靠性,TCP協議采用了三次握手策略建立連接,TCP協議發送數據包后,會向對方確認是否發送成功
TCP三次握手
我們將發送一次消息稱為一次握手
TCP三次握手使用了TCP的標志:SYN 和 ACK
若在握手的某個階段莫名中斷,TCP協議會以相同的順序發送相同的數據包
負責域名解析的DNS服務
DNS服務和HTTP協議一樣位于應用層,DNS提供域名到IP地址之間的解析服務
計算機被賦予IP地址,通過IP地址可以訪問頁面,與IP地址的一組數字相比,域名(字母數字的組合:比如www.baidu.com)更符合人們的記憶習慣,但是計算機擅長處理數字,為了解決這一問題,DNS 服務應運而生
TCP、IP和DNS在使用HTTP協議通信過程中各自發揮的作用
總結
以上是生活随笔為你收集整理的读书笔记:《图解HTTP》第一章 网络基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现一个EventTarget类
- 下一篇: 程序员日常工作中如何正确的偷懒?