HTTP協議用於客戶端與服務器之間的通訊。面試
URI:統一資源標識符,用字符串標識某一互聯網資源安全
URL:統一資源定位符,表示資源的地點服務器
HTTP協議規定,請求從客戶端發出,最後服務器端響應該請求並返回。網絡
請求報文是由請求方法,請求URL,協議版本和可選的請求首部字段和內容實體構成,以下圖所示:架構
響應報文基本上由協議版本,狀態碼(表示請求成功或失敗的數字代碼),用以解釋狀態碼的緣由短語,可選的響應首部字段以及實體主體構成網站
HTTP是一種不保存狀態,即無狀態協議。HTTP協議自身不對請求和響應之間的通訊狀態進行保存,即協議對於發送過的請求和響應都不作持久化處理。加密
使用HTTP協議,協議自己並不保留以前一切的請求和響應報文信息,這樣是爲了更快的處理大量事務,確保協議的可伸縮性,而特地把HTTP協議設計成如此簡單url
Http雖然是無狀態協議,但爲了實現指望保持狀態的功能,因而引入了Cookie技術,有了Cookie再用HTTP協議通訊,就能夠管理狀態了。spa
下面介紹告知服務器意圖的HTTP方法:面試會重點考察,一共有8種架構設計
GET:獲取資源
Get方法用來請求訪問已被url識別的資源。指定的資源經服務器端解析後返回響應內容。若是請求的是文本就保持原樣返回,若是是程序,就返回通過執行後的輸出結果
POST:傳輸實體主體
雖然Get方法也能夠傳輸實體主體,但通常不使用Get方法傳輸,而使用Post 方法
PUT:傳輸文件
PUT方法用來傳輸文件,就像FTP協議的文件上傳同樣,要求在請求報文的主體中包含文件內容,而後保存到請求URL指定的位置
鑑於HTTP/1.1的PUT方法自身不帶驗證機制,任何人均可以上傳文件,存在安全性問題,所以通常的網站不使用該方法,若配合WEB應用程序的驗證機制,或架構設計採用REST(表徵狀態轉移)標準的同類WEB網站,就可能會開放使用PUT方法
HEAD:得到報文首部
HEAD方法和GET方法同樣,只是不返回報文主體部分。用於確認URI的有效性及資源更新的日期時間等。
DELETE:刪除文件
DELETE方法用來刪除文件,和PUT相反,DELETE方法用來按請求URI刪除指定資源。
且DELETE方法自己也不帶驗證機制,其處理方式和PUT是同樣的
OPTIONS:詢問支持的方法
OPTIONS方法用來查詢針對URI指定的資源支持的方法,好比指定URI支持GET和HEAD方法
TRACE:追蹤路徑
TRACE方法是讓Web服務器端將以前的請求通訊返回給客戶端的方法。
發送請求時,在Max-Forwards首部字段中填入數值,每通過一個服務器端就將該數字減1,當數值恰好減到0時,就繼續中止傳輸,最後接收到請求的服務器端則返回狀態碼200 OK的響應
客戶端經過TRACE方法能夠查詢發送出去的請求時怎樣被加工修改的,這是由於,請求想要鏈接到源目標服務器可能會經過代理中轉,TRACE方法就是用來確認鏈接過程當中發生的一系列操做
CONNECTION:要求用隧道協議鏈接代理
CONNECTION方法要求在與代理服務器通訊時創建隧道,實現用隧道協議進行TCP通訊,主要使用SSL和TLS協議把通訊內容加密後經網絡隧道傳輸