HTTP 學習瞭解 (一)

echo_dump發表於2019-12-15

HTTP 學習瞭解

  • TCP/IP協議族各層
  1. 應用層

應用層決定了向使用者提供應用服務時通訊的活動

  1. 傳輸層

傳輸層對上層應用層,提供處於網路連結中的兩臺計算機之間的資料傳輸,傳輸層有兩種不同的協議,TCP(傳輸控制協議)和UDP(使用者資料包協議)

  1. 網路層(又可稱之為網路網際網路層)

網路層時用來處理網路上流動的資料包,資料包是網路傳輸的最小資料單位,該層規定了透過怎樣的路徑到達對方的計算機,並把資料包傳輸給對方

  1. 鏈路層(又名資料鏈路層,網路介面層)

用來處理連線網路的硬體部分。包括控制作業系統,硬體的驅動裝置,網路介面卡,網路卡,光纖

  • TCP/IP通訊傳輸流
  1. HTTP客戶端

  2. TCP

  3. IP

  4. 網路

  5. 網路

  6. IP

  7. TCP

  8. HTTP服務端

說明:HTTP客戶端/服務端都屬於 應用層 ;TCP屬於 傳輸層 ;IP屬於 網路層 ;網路屬於 鏈路層

  • 一個HTTP請求的大概流程

傳送端(每透過一層則增加首部)-》 HTTP資料(HTTP報文)-》 TCP首部(HTTP資料) -》 IP首部((TCP首部)HTTP資料)-》 乙太網首部(((IP首部)TCP首部)HTTP資料)

接收端(每透過一層則刪除首部)-》 乙太網首部(((IP首部)TCP首部)HTTP資料) -》 IP首部((TCP首部)HTTP資料)-》 TCP首部(HTTP資料)-》 HTTP資料(HTTP報文)

  • 負責傳輸的的IP協議

按層次分,IP 網際協議是屬於網路層,IP 協議的作用是把各種資料包傳送給對方,想要準確傳輸到對方那裡,就必須知道IP地址和MAC地址,IP地址指明瞭節點
被分配到的地址,MAC地址是指網路卡所屬的固定地址,IP地址可以和MAC地址配對,IP地址一般可變,MAC地址一般是固定的

  • 確保可靠性的TCP協議

按層次分,TCP協議屬於傳輸層,提供可靠的位元組流服務。 位元組流服務: 為了方便傳輸,將大塊的資料分割成以報文段為段位的資料包進行管理。

TCP協議的三次握手:

  1. 傳送端傳送帶有 SYN的資料包給接收端

  2. 接收端收到資料包之後,會傳送一個帶有 SYN/ACK的資料包給傳送端

  3. 傳送端接收到接受端傳送過來的訊息後,再次傳送一個帶有 ACK的資料包給接收端

  • 負責域名解析的DNS服務

DNS服務是和HTTP協議一樣位於應用層的協議,它提供域名到IP地址之間的解析服務

  1. 傳送端輸入一個域名

  2. DNS服務負責解析,傳送給傳送端域名對應的IP地址

  3. 傳送端得到IP地址之後再次去請求對應的資料

  • HTTP 請求中的幾種方法
  1. GET 獲取資源

  2. POST 傳輸實體主體

  3. PUT 傳輸檔案

  4. HEAD 獲得報文首部(不返回報文主體)

  5. DELETE 刪除檔案

  6. OPTIONS 詢問支援的方法

  7. TRACE 追蹤路徑

  8. CONNECT 要求用隧道協議連線代理

  • HTTP持久化連線(HTTP Persistent Connections | HTTP Keep-alive | HTTP Connection reuse)

在HTTP/1.1中,所有的連線預設都是持久化連線,持久化連線使得多數請求以 管線化 的方式傳送成為可能

本作品採用《CC 協議》,轉載必須註明作者和本文連結
LIYi ---- github地址

相關文章