1. 程式人生 > >圖解Http閱讀筆記(一)

圖解Http閱讀筆記(一)

1、網路基礎 TCP/IP

  1.1TCP /IP 協議族

    計算機與網路裝置要相互通訊,雙方就必須基於相同的方法。比如,如何探測到通訊目標、由哪一邊先發起通訊、使用哪種語言進行通訊、怎樣結束通訊等規則都需要事先確定。不同的硬體、作業系統之間的通訊,所有的這一切都需要一種規則。而我們就把這種規則稱為協議(protocol)。

  TCP/ I P  是網際網路相關的各類協議族的總稱;

  TCP/ I P   包括:IP ,DNS  , HTTP,  FTP , IP ,TCP, UDP ,

  1.2TCP /IP 的分層管理

  TCP/ I P 協議族裡重要的一點就是分層。TCP/ I P 協議族按層次分別分為以下 4 層:應用層、傳輸層、網路層和資料鏈路層

   1.2.1 應用層

  應用層決定了向用戶提供應用服務時通訊的活動。TCP/ I P 協議族內預存了各類通用的應用服務。比如,FTP(File Transfer Protocol,檔案傳輸協議)和 DNS(Dom ain Nam e Sy st em ,域名系統)服務就是其中兩類。HTTP 協議也處於該層。

   1.2.2 傳輸層  

   傳輸層對上層應用層,提供處於網路連線中的兩臺計算機之間的資料傳輸。在傳輸層有兩個性質不同的協議:TCP(Transmission Control Protocol,傳輸控制協議)和 UDP(User Data Protocol,使用者資料報協議)。

  1.2.3網路層

  網路層用來處理在網路上流動的資料包。資料包是網路傳輸的最小資料單位。該層規定了通過怎樣的路徑(所謂的傳輸路線)到達對方計算機,並把資料包傳送給對方。與對方計算機之間通過多臺計算機或網路裝置進行傳輸時,網路層所起的作用就是在眾多的選項內選擇一條傳輸路線。

  1.2.4鏈路層

  用來處理連線網路的硬體部分。包括控制作業系統、硬體的裝置驅動、NIC(Network Interface Card,網路介面卡,即網絡卡),及光纖等物理可見部分(還包括聯結器等一切傳輸媒介)。硬體上的範疇均在鏈路層的作用範圍之內。

  

  1.3 TCP/IP通訊流

  利用 TCP/ I P 協議族進行網路通訊時,會通過分層順序與對方進行通訊。傳送端從應用層往下走,接收端則往應用層往上走。

  

 

  1.作為傳送端的客戶端在應用層(HTTP 協議)發出一個想看某個 W eb 頁面的 HTTP 請求。

  接著,為了傳輸方便,在傳輸層(TCP 協議)把從應用層處收到的資料(HTTP 請求報文)進行分割並在各個報文上打上標記序號及埠號後轉發給網路層。

  2.在網路層(I P 協議),增加作為通訊目的地的 MAC 地址後轉發給鏈路層。這樣一來,發往網路的通訊請求就準備齊全了。

  3.接收端的伺服器在鏈路層接收到資料,按序往上層傳送,一直到應用層。當傳輸到應用層,才能算真正接收到由客戶端傳送過來的 HTTP請求。

  4.傳送端在層與層之間傳輸資料時,每經過一層時必定會被打上一個該層所屬的首部資訊。接收端在層與層傳輸資料時,每經過一層時會把對應的首部消去。

  

  

  1.4 與 HTTP 關係密切的協議 : IP、TCP 和DNS

   1.4.1 IP協議

  IP(Internet  Protocol)網際協議位於網路層,IP 協議的作用是把各種資料包傳送給對方。而要保證確實傳送到對方那裡,則需要滿足各類條件。其中兩個重要的條件是 IP 地址和 MAC地址(Media Access Con t rol Address)

  IP 地址指明瞭節點被分配到的地址MAC 地址是指網絡卡所屬的固定地址。IP 地址可以和 MAC 地址進行配對。IP 地址可變換,但 MAC地址基本上不會更改。

  使用ARP協議憑藉MAC地址進行通訊,ARP是一種用以解析地址的協議,根據通訊方的 IP地址就可以反查出對應的 MAC地址。

  1.4.2 TCP協議

  TCP位於傳輸層,提供可靠的位元組流服務。所謂的位元組流服務(Byte Stream Service)是指,為了方便傳輸,將大塊資料分割成以報文段(segment)為單位的資料包進行管理。而可靠的傳輸服務是指,能夠把資料準確可靠地傳給對方。一言以蔽之,TCP協議為了更容易傳送大資料才把資料分割,而且TCP協議能夠確認資料最終是否送達到對方。

  TCP的三次握手機制確保準確無誤地將資料送達目標處。TCP 的標誌(flag)—— SYN(synchronize) 和ACK(acknowledgement);

  傳送端首先發送一個帶 SYN 標誌的資料包給對方。接收端收到後,回傳一個帶有 SYN/ACK 標誌的資料包以示傳達確認資訊。最後,傳送端再回傳一個帶 ACK 標誌的資料包,代表“握手”結束。若在握手過程中某個階段莫名中斷,TCP協議會再次以相同的順序傳送相同的資料包

  

   1.4.3 DNS服務

   DNS也是位於應用層的協議,提供域名到IP地址之間的解析服務。