看圖解HTTP後的記錄(前三章)

  • 買了一本圖解HTTP 同時給自己定任務 在規定時間內看完 並把學到的東西記錄下來 當然 好書看一遍是不夠的 看完之後是要重溫的 給自己定計劃 生活要有儀式感 前幾天看字節跳動前端大神的直播 他給前端工程師 劃分了四個級別 初級 中級 高級 大神 可能看衆們看到這裏可能會吐槽 這不廢話嗎 之前我一直以爲自己馬馬虎虎到了初級 看完大神對初級前端工程師的需要掌握知識的說明 感覺自己還遠遠沒有達到 但是會爭取在今年內達到
    初級前端工程師 (js基礎,框架源碼,瞭解框架運行機制, 計算機運行原理, 網絡知識 ,算法 )
    以上就是初級前端工程師需要掌握的知識 現在本人在啃 紅寶書的同時 也在瞭解 http 每天一章

第一章

  • web使用一種名爲http(超文本傳輸協議)的協議作爲規範 完成從客戶端到服務器等一系類的運作流程而協議是指規則的約定 可以說 web是建立在http協議上通信的 1989年3月 互聯網還只屬於少數人 在這互聯網的黎明期 http誕生了 最初的設想是藉助多文檔之間的互相關聯的超文本 連接成可相互參閱的WWW
  • 當年http協議的出現主要是爲了解決文本傳輸的難題 由於協議本身非常簡單 於是在此基礎上設想了很多應用方法並投入了實際使用 現在http協議已經超出了web這個框架的侷限 被運用到了各種場景中
  • 互聯網相關聯的協議集合起來總稱爲TCP/IP TCP/IP協議族按層次分別分爲 應用層 傳輸層 網絡層 鏈路層
  • 應用層 :應用層決定了向用戶提供應用服務時的通信的活動 TCP/IP協議族內預存了各類通用的應用服務 比如 FTP 和 DNS 服務就是其中兩類 http協議也屬於該層
  • 傳輸層:傳輸層對上層應用層 提供處於網絡連接中的兩臺計算機之間的數據傳輸 在傳輸層中有兩個性質不同的協議TCP(傳輸控制協議)和UDP(用戶數據報協議)
  • 網絡層:網絡層用來處理網絡上面流動的數據包 數據包使網絡傳輸的最小的數據單位 該層規定了通過怎樣的路徑(所謂的傳輸路線) 到達對方計算機 並把數據包傳給對方 與對方計算機之間通過多臺計算機或網絡設備進行傳輸時 網絡層所起的作用就是在衆多的選項內選擇一條傳輸路線
  • 鏈路層:用來處理連接網絡的硬盤部分 包括控制操作系統 硬件的設備驅動 NIC及光纖等物理可見部分

在這裏插入圖片描述

  • ip協議位於網絡層 ip就是網際協議 ip協議的作用是把各種數據包傳輸給對方 而要保證到傳輸到對方那裏 需要滿足各種累條件 其中最終要的兩個條件就是ip地址和MAC地址 ip地址指明瞭節點被分配到的地址 MAC地址是指網卡所屬的固定地址 ip地址可以和MAC地址進行配對 ip地址可變 MAC地址不可變 計算機之間的中轉數據需要採用ARP協議 ARP協議是一種解析地址的協議 根據通信方的IP地址就可以反查出 MAC地址

  • TCP協議位於傳輸層通過三次握手 等機制 確定數據傳輸成功

  • DNS位於應用層 負責域名解析 因爲計算機還是辨認數字更好一些 而我們輸入的網址一般都是字母啥的 例如www.baidu.com 輸入網址後 轉DNS服務器 DNS服務器把百度的IP地址發過來 然後我們根據這個IP地址發送請求
    在這裏插入圖片描述

第二章 http協議用於客戶端與服務端之間的通信

  • 應用http協議時 必定一端擔任客戶端 另一端擔任服務端角色 請求必定是有客戶端發出 服務端迴應
  • 請求報文是由請求方法(get,post之類的) 請求URI(如GET/index.html index.html指明瞭請求訪問的資源對象 也叫作請求URI)
    在這裏插入圖片描述
    • http是不保存狀態的協議 所以後來服務器爲了區分是哪個客戶端傳過來的信息 服務端發送set-cookie字段 在返回報文中 客戶端接收到之後 之後的請求都有服務端發送的cookie內的標示了 類似 token獲取
      以下是http方法及使用場景
      在這裏插入圖片描述

    第三章:http報文內的http信息

    • 用於http協議交互的信息被稱爲http報文,客戶端的叫請求報文,服務器端的叫響應報文,報文可以分爲報文首部 報文主體兩塊 報文首部主要是服務器端或客戶端處理的請求或響應的內容和屬性 報文主體是應該被髮送的數據(非必須)

    • 請求報文和響應報文的首部通常由以下數據組成
      請求行:包含請求的方法,請求的URI和HTTP版本
      狀態行:包含表明響應結果的狀態碼,原因短句和http版本
      首部字段:包含表示請求和響應的各種條件和屬性的各類首部
      一般情況下有四種首部 分別是通用首部 請求首部 響應首部 實體首部

    • 報文主體 和 實體主體的差異
      報文:是http通信中的基本單位,由8位組字節流組成 通過http通信傳輸
      實體:作爲請求或響應的有效載荷數據被傳輸 其內容由實體首部和實體主體組成
      http在進行數據傳輸的過程中可以通過壓縮數據編碼 和 分塊傳輸編碼來提高傳輸效率

    • 通過在http傳輸報文中使用多部分對象集合需要在首部字段加上content-type 多部分對象集合的每個部分類型中都可以含有首部字段
      http獲取部分內容的請求(用於恢復下載)需要在首部加上content-range:5000-10000(字節)給定範圍
      還可以通過內容協商機制跟後臺約定返回不同的語言

    • 返回的http狀態碼
      在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章