網絡協議--HTTP協議簡介

HTTP的作用:

HTTP(Hyper Text Transfer Protocol) 超文本傳輸協議,是基於應用層(TCP/IP參考模型)的通信規範;是從Web服務器傳輸超文本到客戶端的傳輸協議,無狀態的傳輸協議;不僅能夠保證正確、快速、高效的傳輸超文本文檔,而且可以確定資源加載順序等。

HTTP是不保存狀態的協議:

不保存狀態的含義就像是,你進入淘寶網站,登入後,每次切換一個頁面(就是換一個商品的頁面)就要重新登入一次。那就不要太麻煩。那麼HTTP是如何解決這個問題的呢?(也不要吐槽HTTP設計的時候爲什麼沒有想到這個,當初的信息量哪有現在這麼多,而且HTTP能被許多人接受就是因爲他的簡單-快
HTTP1.1 就想到了這個問題,所以設計了Cookie。
當客戶端向服務器請求資源的時候,服務器會在HTTP頭中接入一個set-cookie項,用來保存這個客戶端的身份:
在這裏插入圖片描述
當客戶端再次訪問服務器的時候就會在請求頭中加入一個cookie項,內容就爲剛剛服務器發送過來的內容。
在這裏插入圖片描述

HTTP的幾種請求方法:

  1. GET
    用來請求訪問已被URI識別的資源,指定的資源經服務器端解析後的響應內容。
    在這裏插入圖片描述

  2. POST
    用來傳輸實體主體,雖然POST和GET的功能很相似,但是一般不用GET。
    在這裏插入圖片描述

  3. PUT
    傳輸文件使用的,但是存在漏洞一般web服務器都關閉了這個功能,但是在有的使用REST可能會開放使用
    在這裏插入圖片描述

  4. HEAD
    獲取報文頭部
    在這裏插入圖片描述

  5. DELETE
    刪除文件
    在這裏插入圖片描述

  6. OPTIONS
    用來查詢 指定 URI資源 支持的方法
    在這裏插入圖片描述

  7. TRACW
    讓web服務器將之前請求通信環,回給客戶端的方法。會在請求頭中加入Max-Forwards,每經過一個服務器端這個值就減一,但是到0的時候就會停止傳輸
    在這裏插入圖片描述
    在這裏插入圖片描述

  8. CONNECT

HTTP的管線化:

在最初的HTTP中,每一個資源都要 執行一個完整HTTP請求(包括客戶端請求,服務器迴應,客戶端結束,服務器斷開連接)
在這裏插入圖片描述
這樣在之前的信息量小的時代可能還行,但是在現在這個大信息時代(每個網頁動不動就幾十上百張圖片,那服務器還不得 累死)
在這裏插入圖片描述

爲了解決上述問題,HTTP1.1和一部分1.0想出了持久鏈接,只要任何一端沒有斷開鏈接就保持TCP的狀態。
在這裏插入圖片描述

持久鏈接,使得管線化發送成爲可能,即客戶端發出一個請求後,不用等待服務端迴應即可發送下一個請求。
在這裏插入圖片描述

以上圖片內容截取自《HTTP圖解》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章