HTTP定義了與服務器交互的不同方法,最基本的方法是 GET 和 POST。HTTP-GET和HTTP-POST是使用HTTP的標準協(xié)議動詞,用于編碼和傳送變量名/變量值對參數,并且使用相關的請求語義。
超文本傳輸協(xié)議(HTTP)的設計目的是保證客戶機與服務器之間的通信。
HTTP 的工作方式是客戶機與服務器之間的請求-應答協(xié)議。
web 瀏覽器可能是客戶端,而計算機上的網絡應用程序也可能作為服務器端。
舉例:客戶端(瀏覽器)向服務器提交 HTTP 請求;服務器向客戶端返回響應。響應包含關于請求的狀態(tài)信息以及可能被請求的內容。
在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。
GET - 從指定的資源請求數據。
POST - 向指定的資源提交要被處理的數據
GET請求能夠被緩存
GET請求會保存在瀏覽器的瀏覽記錄中
以GET請求的URL能夠保存為瀏覽器書簽
GET請求有長度限制
GET請求主要用以獲取數據
POST請求不能被緩存下來
POST請求不會保存在瀏覽器瀏覽記錄中
以POST請求的URL無法保存為瀏覽器書簽
POST請求沒有長度限制
GET | POST | |
點擊返回/刷新按鈕 | 沒有影響 | 數據會重新發(fā)送(瀏覽器將會提示用戶“數據被從新提交”) |
添加書簽 | 可以 | 不可以 |
緩存 | 可以 | 不可以 |
編碼類型(Encoding type) | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data. 請為二進制數據使用multipart編碼 |
歷史記錄 | 有 | 沒有 |
長度限制 | 有 | 沒有 |
數據類型限制 | 只允許ASCII字符類型 | 沒有限制。允許二進制數據 |
安全性 | 查詢字符串會顯示在地址欄的URL中,不安全,請不要使用GET請求提交敏感數據 | 因為數據不會顯示在地址欄中,也不會緩存下來或保存在瀏覽記錄中,所以看POST求情比GET請求安全,但也不是最安全的方式。如需要傳送敏感數據,請使用加密方式傳輸 |
可見性 | 查詢字符串顯示在地址欄的URL中,可見 | 查詢字符串不會顯示在地址欄中,不可見 |
方式 | 描述 |
HEAD | 與GET請求類似,不同在與服務器只返回HTTP頭部信息,沒有頁面內容 |
PUT | 上傳指定URL的描述 |
DELETE | 刪除指定資源 |
OPTIONS | 返回服務器支持的HTTP方法 |
CONNECT | 轉換為透明TCP/IP隧道的連接請求 |