图解HTTP学习记录(一)
第一章 了解Web及網絡基礎
HTTP通常被翻譯為超文本傳輸協議,但是不夠嚴謹,嚴謹的應該為“超文本轉移協議”
TCP/IP協議族
協議中存在各式各樣的內容。從電纜的規格到 IP 地址的選定方法、尋找異地用戶的方法、雙方建立通信的順 序,以及 Web 頁面顯示需要處理的步驟,等等。 像這樣把與互聯網相關聯的協議集合起來總稱為 TCP/IP。也有說法認為,TCP/IP 是指 TCP 和 IP 這兩種協 議。還有一種說法認為,TCP/ IP 是在 IP 協議的通信過程中,使用到的協議族的統稱。
TCP/IP的分層管理
TCP/IP 協議族里重要的一點就是分層。TCP/IP 協議族按層次分別分為以下 4 層:應用層、傳輸層、網絡層 和數據鏈路層。
把 TCP/IP 層次化是有好處的。比如,如果互聯網只由一個協議統籌,某個地方需要改變設計時,就必須把所 有部分整體替換掉。而分層之后只需把變動的層替換掉即可。把各層之間的接口部分規劃好之后,每個層次 內部的設計就能夠自由改動了。
TCP/IP 協議族各層的作用如下。
應用層
應用層決定了向用戶提供應用服務時通信的活動。 TCP/IP 協議族內預存了各類通用的應用服務。比如,FTP(File Transfer Protocol,文件傳輸協議)和 DNS(Domain Name System,域名系統)服務就是其中兩類。 HTTP 協議也處于該層。
傳輸層
傳輸層對上層應用層,提供處于網絡連接中的兩臺計算機之間的數據傳輸。 在傳輸層有兩個性質不同的協議:TCP(Transmission Control Protocol,傳輸控制協議)和 UDP(User Data Protocol,用戶數據報協議)。
網絡層(又名網絡互連層)
網絡層用來處理在網絡上流動的數據包。數據包是網絡傳輸的最小數據單位。該層規定了通過怎樣的路徑 (所謂的傳輸路線)到達對方計算機,并把數據包傳送給對方。
與對方計算機之間通過多臺計算機或網絡設備進行傳輸時,網絡層所起的作用就是在眾多的選項內選擇一條 傳輸路線
鏈路層(又名數據鏈路層,網絡接口層)
用來處理連接網絡的硬件部分。包括控制操作系統、硬件的設備驅動、NIC(Network Interface Card,網絡 適配器,即網卡),及光纖等物理可見部分(還包括連接器等一切傳輸媒介)。硬件上的范疇均在鏈路層的 作用范圍之內。
TCP/IP 通信傳輸流
利用 TCP/IP 協議族進行網絡通信時,會通過分層順序與對方進行通信。發送端從應用層往下走,接收端則往 應用層往上走。
我們用 HTTP 舉例來說明,首先作為發送端的客戶端在應用層(HTTP 協議)發出一個想看某個 Web 頁面的 HTTP 請求。
接著,為了傳輸方便,在傳輸層(TCP 協議)把從應用層處收到的數據(HTTP 請求報文)進行分割,并在 各個報文上打上標記序號及端口號后轉發給網絡層。
在網絡層(IP 協議),增加作為通信目的地的 MAC 地址后轉發給鏈路層。這樣一來,發往網絡的通信請求 就準備齊全了
接收端的服務器在鏈路層接收到數據,按序往上層發送,一直到應用層。當傳輸到應用層,才能算真正接收 到由客戶端發送過來的 HTTP 請求。
發送端在層與層之間傳輸數據時,每經過一層時必定會被打上一個該層所屬的首部信息。反之,接收端在層 與層傳輸數據時,每經過一層時會把對應的首部消去。
這種把數據信息包裝起來的做法稱為封裝(encapsulate)
總結
以上是生活随笔為你收集整理的图解HTTP学习记录(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cocos Creator JS 时间戳
- 下一篇: Perhaps you are runn