天天看點

簡單聊聊HTTP/TCP/IP協定

HTTP協定

一丶什麼是HTTP協定:

  HTTP協定是hypertexttransferprotocol(超文本傳輸協定)的簡寫,它是TCP/IP協定的一個應用層協定,用于定義WEB浏覽器伺服器之間交換資料的過程,用戶端連上web伺服器後,若想獲得web伺服器中的某個資源,需遵守一定的通訊格式,HTTP協定用于定義用戶端與web伺服器通訊的格式。

二丶HTTP協定的版本有以下兩種:

  HTTP協定版本:HTTP/1.0 、HTTP/1.1

三丶HTTP/1.0和1.1的差別

  在HTTP1.0協定中,用戶端與web伺服器建立連接配接後,隻能獲得一個web資源。

  在HTTP1.1協定中,允許用戶端與web伺服器建立連接配接後,在一個連接配接上擷取多個web資源。

四丶HTTP協定請求:

  1:HTTP協定請求由三部分組成,(請求行,消息報頭,請求正文)

  2:請求行:

      請求行以一個方法符号開頭,以空格分開,後面跟着請求的URL和協定的版本。

      格式如下:

          Method Request-URL HTTP-Version CRLF

      Method:表示請求方法。

      Request-URL:是一個統一資源辨別符。

      HTTP-Version:辨別請求的HTTP協定版本。

      CRLF:表示回車和換行(除了作為結尾的CRLF外,不允許出現單獨的CR或LF字元。)

五丶請求方法:(Ps:所有請求方法均大寫)

  GET: 請求擷取Request-URL擷取辨別符的資源。

  POST:在Request-URL擷取辨別的資源後添加新的資料。

  HEAD:請求擷取由Request-URL所辨別的資源的響應消息報頭。

  PUT:請求伺服器存儲一個資源,并用Request-URL作為辨別。

  DELETE:請求伺服器删除,Request-URL所辨別的資源。

  TRACE:請求伺服器回送收到的請求消息,主要用于測試或診斷。

  CONNECT:把伺服器作為跳闆,讓伺服器代替使用者去通路其它網頁,之後把資料原原本本的傳回給使用者。(Ps:這個方法需要使用TCP直接去連接配接的,是以不适合在網頁開發中使用,不過網頁開發中也用不到它。)

  OPTIONS:請求查詢伺服器的性能,或者查詢與資源相關的選項和需求。

TCP/IP協定

  TCP/IP是一個大集合,是以統稱TCP/IP協定。

  TCP/IP分為四個層,每一層分一個職責,那個層除了問題直接維護那個層即可。

四層分為:

  1:鍊路層

  2:網絡層

  3:傳輸層

  4:應用層

鍊路層的職責:

  用來處理連接配接網絡的硬體部分,包括控制作業系統硬體的裝置驅動,NIC(Network.Interface.Card,網絡擴充卡,既網卡)光纖等網絡可見部分(還包括連接配接器等一切傳輸媒介),硬體上的範疇均在鍊路層的作用範圍之内。

網絡層的職責:

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

傳輸層的職責:

  TCP(Transmission Control Protocol 傳輸控制協定)

  UDP(User Data Protaol 使用者資料協定)

應用層的職責:

  FTP(File Transfer Protocol 檔案傳輸協定)

  DNS(Domain Name System 域名系統Http協定)

TCP/IP通信資料流:(PS:下圖)

簡單聊聊HTTP/TCP/IP協定

HTTP關系密切的協定:IP、TCP和DNS

IP協定:

  (Internet Protocol)這裡的IP不是指的我們通常所說的:192.168.1.1,這個IP指的是一種協定,而後邊的數字值是IP位址。

TCP協定:

  如果說IP協定是我們找到對方的詳細位址,那麼TCP協定就是把安全的東西帶給對方,各有分工,互不沖突。

DNS:

  DNS(Domain names System)和HTTP協定一樣處于應用層的服務,提供域名到IP之間的解析服務。

各種協定的作用:

  HTTP協定職責:

    生成針對目标,Web伺服器的HTTP請求封包。

  TCP協定職責:

    為了友善通信,将HTTP請求封包分割成封包段,按序号分多個封包段,把每個封包段可靠的傳給對方。

  IP協定的職責:

    搜尋對方的位址,一邊中轉,一邊發送。

繼續閱讀