Http定義了與 服務(wù)器的交互方法,,其中除了一般我們用的最多的GET,POST 其實還有PUT和DELETE
根據(jù)RFC2616標(biāo)準(zhǔn)(現(xiàn)行的HTTP/1.1)其實還有OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
簡單地結(jié)束一下吧,。
1、PUT: 把消息本體中的消息發(fā)送到一個URL,跟POST類似,,但不常用,。
簡單地說:通常用于向服務(wù)器發(fā)送請求,如果URI不存在,,則要求服務(wù)器根據(jù)請求創(chuàng)建資源,,如果存在,服務(wù)器就接受請求內(nèi)容,,并修改URI資源的原始版本,。
-----PUT請求那些封裝在Request-URI的實體,。如果Request-URI引用一個已存在的資源,則該封裝實體應(yīng)該作為原始服務(wù)器上的修改版本,。如果Request-URI不是指向一個已存在的資源,,并且該URI可被請求的用戶代碼定義為新資源,則原始服務(wù)器可用此URI創(chuàng)建新的資源,。如果新的資源被創(chuàng)建,,這個原始服務(wù)器就必須通過201(Created)響應(yīng)通知用戶代理。如果已有資源被修改,,則發(fā)送200或者204響應(yīng),,表示成功完成了該請求。如果Request-URI既沒有創(chuàng)建也沒有修改資源,,則應(yīng)給予適當(dāng)?shù)腻e誤響應(yīng)來反映問題本質(zhì),。實體的接受者不能忽略任何不理解或沒有實現(xiàn)的Content-*(如Content-Range)頭部,并且必須返回501響應(yīng),。
如果請求經(jīng)過緩存,,并且Request-URI標(biāo)識出一個或多個當(dāng)前緩存的實體,則那些實體視為過期了,。該方法的響應(yīng)不會被緩存,。
2、POST和PUT的請求根本區(qū)別
POST請求的URI表示處理該封閉實體的資源,,該資源可能是個數(shù)據(jù)接收過程,、某種協(xié)議的網(wǎng)關(guān)、或者接收注解的獨立實體,。然而,,PUT請求中的URI表示請求中封閉的實體-用戶代理知道URI的目標(biāo),并且服務(wù)器無法將請求應(yīng)用到其他資源,。如果服務(wù)器希望該請求應(yīng)用到另一個URI,,就必須發(fā)送一個301響應(yīng);用戶代理可通過自己的判斷來決定是否轉(zhuǎn)發(fā)該請求,。
HTTP/1.1沒有定義一個PUT請求如何影響原始服務(wù)器的狀態(tài),。 PUT請求必須遵守信息傳輸要求。 除非另有說明,,PUT請求中的實體頭部應(yīng)該用于PUT創(chuàng)建或修改的資源上,。 |
|