簡單的HTTP協議

  • http用于客戶端和服務器端之間的通信

  • 通過請求和相應的交換達成通信

  • http是不保存狀態的協議
    也就說在http這個級別,協議對于發送過請求或相應都不做持久化處理。持久是用cookie實現。

  • 請求URI定位資源

  • 告知服務器意圖的HTTP方法

  • GET:獲取資源
    get方法用來請求訪問已被URI識別的資源。指定的資源經服務器端解析后返回相應內容。

  • POST: 傳輸實體主體
    post方法用來傳輸實體主體
    雖然用get方法也可以傳輸實體的主體,但一般不用GET方法進行傳輸,而是用POST方法,雖說POST的功能與GET很相似。

  • PUT:傳輸文件
    PUT方法用來傳輸文件,就像FTP協議的文件上傳一樣,要求在請求報文的主體中包含文件內容,然后保存到請求URI指定的位置。
    因為不帶驗證機制,因此一般的WEB網站不使用該驗證機制。若配合Web應用程序的驗證機制或者架構設計采用REST(表征狀態轉移)標準的同類Web網站,就可能會開放使用PUT方法。

  • HEAD:獲取報文首部
    HEAD方法和GET方法一樣,知識不返回報文主體部分,知識用來確認URI的有效性及資源更新的日期時間等。

  • DELETE:刪除文件
    DELETE方法用來刪除文件,是與PUT相反的方向。
    因為不帶驗證機制,因此一般的WEB網站不使用該驗證機制。若配合Web應用程序的驗證機制或者架構設計采用REST(表征狀態轉移)標準的同類Web網站,就可能會開放使用PUT方法。

  • OPTIONS:詢問支持方法
    用來查詢針對請求URI指定的資源支持的方法。

  • TRACE: 追蹤路徑
    TRACE方法就是用來確認連接到服務器這一過程中的一系列操作有哪些。
    容易引發XST跨站追蹤攻擊。

  • CONNECT:要求用隧道協議連接代理
    方法要求在代理服務器通信時建立隧道,實現用隧道協議進行TCP通信。主要使用SSL安全套接層和TLS傳輸層安全協議把通信內容加密后經網絡隧道傳輸。

  • 使用方法下達命令

  • 持久連接節省通信量

  • 持久連接
    http keep-alive或http connection reuse方法,只要任意一段沒有明確提出斷開連接,則保持TCP連接狀態。

  • 管線化
    持久連接使得多數請求以管線化方式發送成為可能。

  • 使用cookie的狀態管理
    cookie會根據從服務器端發送的相應報文內的一個叫做Set-Cookie的首部字符按信息,通知客戶端保存Cookie。當下次客戶端再往服務器發送請求時,客戶端會自動再請求報文中加入Cookie值后再發送出去。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容