?? HTTP請求方法

HTTP1.0定義了三種請求方法:GET、POST和HEAD方法;
HTTP1.1新增了五種請求方法:OPTION、PUT、DELETE、TRACE和CONNECT方法;

  • GET 方法:僅用作數(shù)據(jù)的讀取,請求參數(shù)以query的形式附加
  • POST 方法:向指定資源提交數(shù)據(jù)進行處理請求(例如提交表單或上傳文件)。數(shù)據(jù)被包含在請求體中。POST請求可能會創(chuàng)建新資源或修改現(xiàn)有資源,請求參數(shù)以body的形式傳遞。
  • HEAD 方法:類似于GET請求,但是只請求頁面的首部、不請求頁面內(nèi)容。它允許我們單純獲取服務(wù)器的響應(yīng)頭信息。
  • PUT 方法:PUT 在能力上和 POST 類似,區(qū)別在于 PUT 的 URI 指向是具體的某個資源,而不能指向資源集合。從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。同時 PUT 對資源的修改是冪等的。
  • DELETE方法:請求服務(wù)器刪除指定的資源
  • OPTIONS方法:用于獲取指定服務(wù)能夠支持的通信選項,允許客戶端查看服務(wù)器的性能。
  • CONNECT方法:HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
  • TRACE方法:回顯服務(wù)器收到的請求,主要用于測試或診斷。

與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。
如下情況則須使用POST方式:
? 無法使用緩存文件(更新服務(wù)器上的文件或數(shù)據(jù)庫)
?向服務(wù)器發(fā)送大量數(shù)據(jù)(POST 沒有數(shù)據(jù)量限制)
? 發(fā)送包含未知字符的用戶輸入時,POST 比 GET 更穩(wěn)定也更可靠

HTML標準中對HTTP協(xié)議的用法的約定

GET

  1. 用于獲取數(shù)據(jù)。
  2. 使用URL或Cookie傳參。(會將參數(shù)追加到URL后面)
  3. GET提交的數(shù)據(jù)大小有限制(因為瀏覽器對URL的長度有限制)
    使用GET請求經(jīng)常會發(fā)生的一個錯誤,就是查詢字符串的格式有問題.查詢字符串中每個參數(shù)的名稱和值都必須使用encodeURIComponent()進行編碼,然后才能放到URL的末尾;而且所有名-值對都必須使用&分隔.
xhr.open("get","example.php?name1=value1&name2=value2",true);
http://localhost:8080/EcommerceSiteLM/user/register.do?username=liumin&password=123456

輔助向現(xiàn)有的URL的末尾添加查詢字符串參數(shù)

function addURLParam(url,name,value){
    url += (url.indexOf("?") == -1 ? "?" : "&");
    url += encodeURIComponent(name) + "=" + encodeURIComponent(value);
    return url;
}

POST

  1. 一般用于將數(shù)據(jù)發(fā)給服務(wù)器。
  2. 將數(shù)據(jù)放在Body中。
  3. POST的數(shù)據(jù)可以非常大。
  4. 更安全,因為數(shù)據(jù)在地址欄上不可見。

get是把參數(shù)數(shù)據(jù)隊列加到提交表單的action屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。post是通過HTTP post機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML header內(nèi)一起傳送到action屬性所指的URL地址,用戶看不到這個過程。

URL的構(gòu)造規(guī)則(GET帶參情況下) 獲取參數(shù)以JSON顯示(編寫function)

GET和POST對比圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在客戶機和服務(wù)器之間進行請求-響應(yīng)時,兩種最常被用到的方法是:GET和POST. GET - 從指定的資源請求數(shù)據(jù)...
    NoFacePeace閱讀 429評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,628評論 19 139
  • 一、HTTP請求方法 根據(jù)HTTP標準,HTTP請求可以使用多種請求方式。GET POST HEAD OPTION...
    wuchaooooo閱讀 11,695評論 1 14
  • ?曾經(jīng)遇到過這樣兩個孩子,一個是男孩子,一個是女孩子。 男孩很調(diào)皮,學(xué)習(xí)不夠認真,有時還會和老師頂嘴,雖然經(jīng)常會和...
    草莓很甜閱讀 1,471評論 2 7
  • 歌曲/Jam《不露聲色》 樓先生,近來天氣好嗎? 可能不太好吧,你很久沒來過了,我的身邊長滿了雨后的雜草。 我本來...
    那由他nayutaa閱讀 918評論 8 5

友情鏈接更多精彩內(nèi)容