HTTP使用術語流入和流出來描述事務處理的方向。html
HTTP報文會像河水同樣流動。無論是請求報文仍是響應報文,全部報文都會向下游流動。全部報文的發送者都在接受者的上游。安全
由三個部分組成:對報文進行描述的起始行、包含屬性的首部塊、以及可選的、包含數據的主體部分。服務器
全部的HTTP報文均可以分爲兩類:請求報文和響應報文。3d
請求報文的起始行說明了要作些什麼,響應報文的起始行說明發生了什麼。htm
請求報文的起始行,或稱爲請求行,包含了一個方法和一個請求URL,這個方法描述了服務器應該執行的操做,請求URL描述了要對哪一個資源執行這個方法。blog
響應報文的起始行,或稱爲響應行,包含了響應報文使用的HTTP版本,數字狀態碼,以及描述操做狀態的文本形式的緣由短語。事務
請求的起始行以方法做爲開始,方法用來告知服務器要作些什麼。資源
經常使用方法:文檔
方法是用來告訴服務器作什麼事情的,狀態碼則用來告訴客戶端,發生了什麼事情。get
狀態碼分類:
緣由短語是響應起始行中最後一個組件,它爲狀態碼提供了文本形式的解釋。
首部分類:
既能夠出如今請求報文中,也能夠出如今響應報文中。
提供更多有關請求的信息
提供更多有關響應的信息
描述主體的長度和內容,或者資源自身
規範中沒有定義的新部首
常見部首實例:
HTTP定義了一組被稱爲安全方法的方法。GET方法和HEAD方法都被認爲是安全的,這意味着使用GET和HEAD方法的HTTP請求都不會產生什麼動做。
GET是最經常使用的方法。一般用於請求服務器發送某個資源。
HEAD方法和GET方法的行爲很類型,但服務器在響應中只返回首部。不會返回實體的主要部分。
與GET從服務器讀取文檔相反,PUT方法會向服務器寫入文檔。
PUT方法的語義就是讓服務器用請求的主體部分來建立一個有所請求的URL命名的新文檔,已存在的話,就用這個主體來替代它。
POST方法起初是用來向服務器輸入數據的。一般用它來支持HTML的表單。
POST用於向服務器發送數據,PUT用於向服務器上的資源(例如文件)中存儲數據。
TRACE方法容許客戶端在最終將請求發送給服務器時,看看他變成什麼樣子。
TRACE方法主要用於診斷,用於驗證請求是否如願穿過了請求/響應鏈。
OPTIONS方法請求Web服務器告知其支持的各類功能。
DELETE方法所作的事情就是請服務器刪除請求URl 所指定的資源。
但客戶端應用程序沒法保證刪除操做必定會被執行。由於HTTP規範容許服務器在不通知客戶端的狀況下撤銷請求。