Http定義了與 服務(wù)器的交互方法,其中除了一般我們用的最多的GET,POST 其實(shí)還有PUT和DELETE
根據(jù)RFC2616標(biāo)準(zhǔn)(現(xiàn)行的HTTP/1.1)其實(shí)還有OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
簡(jiǎn)單地結(jié)束一下吧。
1、PUT: 把消息本體中的消息發(fā)送到一個(gè)URL,跟POST類似,但不常用。
簡(jiǎn)單地說(shuō):通常用于向服務(wù)器發(fā)送請(qǐng)求,如果URI不存在,則要求服務(wù)器根據(jù)請(qǐng)求創(chuàng)建資源,如果存在,服務(wù)器就接受請(qǐng)求內(nèi)容,并修改URI資源的原始版本。
-----PUT請(qǐng)求那些封裝在Request-URI的實(shí)體。如果Request-URI引用一個(gè)已存在的資源,則該封裝實(shí)體應(yīng)該作為原始服務(wù)器上的修改版本。如果Request-URI不是指向一個(gè)已存在的資源,并且該URI可被請(qǐng)求的用戶代碼定義為新資源,則原始服務(wù)器可用此URI創(chuàng)建新的資源。如果新的資源被創(chuàng)建,這個(gè)原始服務(wù)器就必須通過(guò)201(Created)響應(yīng)通知用戶代理。如果已有資源被修改,則發(fā)送200或者204響應(yīng),表示成功完成了該請(qǐng)求。如果Request-URI既沒(méi)有創(chuàng)建也沒(méi)有修改資源,則應(yīng)給予適當(dāng)?shù)腻e(cuò)誤響應(yīng)來(lái)反映問(wèn)題本質(zhì)。實(shí)體的接受者不能忽略任何不理解或沒(méi)有實(shí)現(xiàn)的Content-*(如Content-Range)頭部,并且必須返回501響應(yīng)。
如果請(qǐng)求經(jīng)過(guò)緩存,并且Request-URI標(biāo)識(shí)出一個(gè)或多個(gè)當(dāng)前緩存的實(shí)體,則那些實(shí)體視為過(guò)期了。該方法的響應(yīng)不會(huì)被緩存。
2、POST和PUT的請(qǐng)求根本區(qū)別
POST請(qǐng)求的URI表示處理該封閉實(shí)體的資源,該資源可能是個(gè)數(shù)據(jù)接收過(guò)程、某種協(xié)議的網(wǎng)關(guān)、或者接收注解的獨(dú)立實(shí)體。然而,PUT請(qǐng)求中的URI表示請(qǐng)求中封閉的實(shí)體-用戶代理知道URI的目標(biāo),并且服務(wù)器無(wú)法將請(qǐng)求應(yīng)用到其他資源。如果服務(wù)器希望該請(qǐng)求應(yīng)用到另一個(gè)URI,就必須發(fā)送一個(gè)301響應(yīng);用戶代理可通過(guò)自己的判斷來(lái)決定是否轉(zhuǎn)發(fā)該請(qǐng)求。
HTTP/1.1沒(méi)有定義一個(gè)PUT請(qǐng)求如何影響原始服務(wù)器的狀態(tài)。
PUT請(qǐng)求必須遵守信息傳輸要求。
除非另有說(shuō)明,PUT請(qǐng)求中的實(shí)體頭部應(yīng)該用于PUT創(chuàng)建或修改的資源上。
您可能感興趣的文章:- HTTP 錯(cuò)誤 500.19- Internal Server Error 錯(cuò)誤解決方法
- HTTP 錯(cuò)誤 403.1 - 禁止訪問(wèn):執(zhí)行訪問(wèn)被拒絕。 解決方法該頁(yè)無(wú)法顯示
- http協(xié)議詳解(超詳細(xì))
- HttpWebRequest和HttpWebResponse用法小結(jié)
- apache https配置詳細(xì)步驟講解
- java使用httpclient模擬post請(qǐng)求和get請(qǐng)求示例
- C#中HttpWebRequest的用法詳解
- javascript XMLHttpRequest對(duì)象全面剖析
- PHP獲取http請(qǐng)求的頭信息實(shí)現(xiàn)步驟
- IIS HTTP 錯(cuò)誤 404.17 - Not Found 解決方法
- HTTP 2.0 詳細(xì)介紹