Python linux Ubuntu mysql Windows Firefox Android 微软 google java nginx linux命令 wordpress centos HTML5 shell 开源 php apache 程序员

http工作原理

 HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。
 在了解HTTP如何工作之前,我們先了解計算機之間的通信。 
 互聯網的關鍵技術就是TCP/ip協議。兩臺計算機之間的通信是通過TCP/IP協議在因特網上進行的。實際上這個是兩個協議:
  TCP : Transmission Control Protocol 傳輸控制協議和IP: Internet Protocol  網際協議。
  IP:計算機之間的通信
  IP協議是計算機用來相互識別的通信的一種機制,每臺計算機都有一個IP.用來在internet上標識這臺計算機。  IP 負責在因特網上發送和接收數據包。通過 IP,消息(或者其他數據)被分割為小的獨立的包,並  通過因特網在計算機之間傳送。IP 負責將每個包路由至它的目的地。
  IP協議僅僅是允許計算機相互發消息,但它並不檢查消息是否以發送的次序到達而且沒有損壞(只檢查關鍵的頭數據)。為了提供消息檢驗功能,直接在IP協議上設計了傳輸控制協議TCP.
        
  TCP : 應用程序之間的通信
  TCP確保數據包以正確的次序到達,並且嘗試確認數據包的內容沒有改變。TCP在IP地址之上引端口(port),它允許計算機通過網絡提供各種服務。一些端口號為不同的服務保留,而且這些端口號是眾所周知。
  服務或者守護進程:在提供服務的機器上,有程序監聽特定端口上的通信流。例如大多數電子郵件通信流出現在端口25上,用於wwww的HTTP通信流出現在80端口上。
  當應用程序希望通過 TCP 與另一個應用程序通信時,它會發送一個通信請求。這個請求必須被送到一個確切的地址。在雙方“握手”之後,TCP 將在兩個應用程序之間建立一個全雙工 (full-duplex) 的通信,占用兩  個計算機之間整個的通信線路。TCP 用於從應用程序到網絡的數據傳輸控制。TCP 負責在數據傳送之前將它們分割為 IP 包,然後在它們到達的時候將它們重組。
  TCP/IP 就是TCP 和 IP 兩個協議在一起協同工作,有上下層次的關系。
  TCP 負責應用軟件(比如你的瀏覽器)和網絡軟件之間的通信。IP 負責計算機之間的通信。TCP 負責將數據分割並裝入 IP 包,IP 負責將包發送至接收者,傳輸過程要經IP路由器負責根據通信量、網絡中的錯誤或者  其他參數來進行正確地尋址,然後在它們到達的時候重新組合它們。

延伸阅读

评论