
寫在前面的話
❝
網上已經有很多不錯 有關HTTP 文章, 此文為記錄學習
HTTP
最近在項目開發中,對于HTTP 這塊比較懵,來補補基礎吧!
學習HTTP的同時,有必要了解下
TCP/IP
協定族。
通常使用的網絡都是在
協定族的基礎上運作,而且HTTP 屬于
TCP / IP
TCP/IP
的一個子集。
❞
TCP / IP
TCP/IP 協定族
不同硬體與作業系統之間通信有需要有一定規則來限制,這樣可以統一溝通的條件。T是網際網路相關各協定族的總稱,它不隻是 單純的 指
TCP / IP
和
TCP
IP
協定,
它有
,
FTP
SNMP
HTTP
........ 組成的 協定族。
PPPoE
TCP/ IP 分層
協定族 按層次分為 4 層:
TCP / IP
應用層
傳輸層
網絡層
資料鍊路層
應用層
作用
: 應用層決定了向使用者提供應用服務時通信的活動。
TCP / IP 協定族内預存了各類通用的應用服務。
例如: FTP(檔案傳輸協定) DNS(域名系統)HTTP
傳輸層
作用
: 兩台計算機之間的資料傳輸,服務于應用層。
在傳輸層有兩個性質不同的協定: TCP(傳輸控制協定) UDP(使用者資料協定)
網路層
作用
: 用來處理在網絡上流動的資料包,以何種方式傳遞給對方。
資料包是網絡傳輸的最小資料機關。
網絡層 決定了 通過什麼樣的方式把資料包傳遞給對方。
網絡層 最重要的功能是: 路由資料包。它會根據網絡上路由IP, 網絡擁塞情況,選擇一條最合适的路由路線,以最快的速度将資料包傳遞給對方。
資料鍊路層
作用
: 用來處理連接配接網絡的硬體部分。
硬體上的範疇均在鍊路層的作用範圍之内
TCP / IP 通信傳輸流
采用協定進行網絡通信時, 用戶端(發送端) 會從應用層 往下走, 一層 一層的傳輸, 每進入一層,被被打上标記序号以及端口号, 當用戶端 走完 自己的 4 層時, 會進入 服務端(接收端) ,它是按 鍊路層 然後 一層一層 往上走, 每進入一層, 取消一個 标記序号, 直到頂層(應用層),這時, 服務端才接收到了
TCP / IP
向
用戶端
發送的請求。
服務端
服務端
用戶端
發送請求,和之前的順序相反。
服務端(應用層----------> 資料鍊路層)
用戶端(資料鍊路層 ---------------> 應用層)
HTTP 相關的協定
負責傳輸的IP協定
: 它是網際協定,它位于網絡層。
IP
作用
: 把各種資料包傳遞給對方。
要保證可以 把資料包準确的傳遞給對方,有兩個條件:
位址: 它标明了要傳遞到對方的 ip 位址。
IP
位址: 它是指網卡的固定位址。
MAC
IP 位址 可以 和 MAC 位址 進行比對,IP 位址可以更換,但MAC 位址基本不會更換。
IP 和 MAC 是驗證 一個身份的 關鍵
計算機于計算機之間通信時,它不會直接查找到對方IP的,中間過程會經曆 裝置中轉,在進行中轉的同時,它 會 采用 ARP 協定 來 推出 IP 位址的 MAC 位址,經過多次中轉最終找到對方的 MAC 位址, MAC 位址 于 IP 位址比對, 成功的建立了連接配接。
: 它是一用來解析位址的協定。根據對方IP位址可以反查出對應的MAC 位址
ARP
確定可靠性TCP 協定
位于傳輸層, 提供可靠的位元組流服務。
TCP
位元組流服務
: 為了友善傳輸,它會将大塊資料分割成 以封包段為機關的資料進行管理。
為了
的可以傳遞給對方資料,
可靠的安全
TCP 采用 三次握手政策
SYN 同步序列編号
ACK 确認字元
: 發送端會發送一個帶有 SYN 标志的資料包給對方。
第一次握手
: 對方(接收端)收到發送端 發送過來的 SYN 包, 回傳一個帶有 SYN / ACK 标志的包 來辨別接收成功。
第二次握手
: 發送端 回傳一個 ACK 包 表示
第三次握手
握手接收
TCP 為何要三次握手呢?
: 用戶端 向 服務端 發送請求
第一次握手
第二次握手
: 服務端 接收 用戶端發來的請求,進行處理。
前 兩次握手 已經實作 請求處理過程,那麼為什麼還是需要 建立第三次握手呢?
如果不進行
, 假如,
第三次握手
, 用戶端由于網絡原因,請求延遲發送, 你以為 這樣就結束了請求,但網絡節點正常後,它還會發送這個請求,這是一個早已失效的封包;
第一次握手
,服務端 接收到 用戶端發送過來的 延遲請求,但此時用戶端沒有發送任何資料,而服務端還在等候 用戶端, 造成了資源浪費。
第二次握手
第三次握手是為了防止已經失效的連接配接請求封包段突然又傳到服務端,因而産生錯誤。
讓三次握握手 更生動
在戀愛關系中,就是 确定 一下, A 是否 為如果不三次握手, B 早已和别的男朋友........ 而 A 還在 苦苦 等待 B 的接受。
單相思
幹嘛不三次握手嘛
A 向 B 表白了;
B 收到 A 的 表白了, B 要回應 A ,
A 收到 了 B 回應, 讓他 脫離了
我不喜歡你
單相思
負責域名解析DNS 服務
服務 和HTTP 協定 都位于應用層協定。
DNS
: 提供
作用
到
域名
位址解析服務。
IP
DNS 協定提供通過域名查找IP 位址, 也可以通過IP 位址反查 域名
HTTP 與 各種協定之間的關系
HTTP 與上面各個協定之間 串聯起來 了解各個協定個作用。
圖檔來源 HTTP圖解
URI 與 URL
什麼是URI URL
統一資源辨別符。
URI
URI 是 Uniform Resource Identifier 的縮寫
Uniform 統一格式
Resource 可辨別資源
URI 用字元串 辨別 網際網路資源, 而URL 表示資源地點。
Idetifier 可辨別對象,辨別符
統一資源定位符, 這個相信大家已經很了解了。
URL
URI 格式
到現在,我們了解了協定族 的組成以及分層,還有最重要的
TCP / IP
,做一個不再
三次握手
單相思
的小男孩;還有有關HTTP 相關知識。
這隻是剛開始,
路漫漫其修遠兮吾将上下而求索
.
寫此文,為記錄學習
, 大手請手下留情。
HTTP