Mi az a PUT?
A PUT metódust a szerveren elérhető erőforrás frissítésére használják. Általában a cél URL-nél lévőt helyettesíti valamivel. Használhatja új erőforrások készítésére vagy egy meglévő felülírására. A PUT kéri, hogy a mellékelt entitást a mellékelt kért URI (Uniform Resource Identifier) alatt kell tárolni.
Ebben az oktatóanyagban megtudhatja:
- Mi az a PUT?
- Mi a POST?
- Példa a PUT-ra
- Példa a POST-ra
- Különbség a PUT és a POST között
- API tesztelése PUT kérésekkel
- API tesztelése POST kérésekkel
- A PUT módszer előnyei
- A POST módszer előnyei
Mi a POST?
A POST egy olyan módszer, amelyet a HTTP és a HTTP támogat
azt ábrázolja, hogy egy webszerver elfogadja az üzenet törzsében szereplő adatokat, amelyeket kért. A POST-ot a világháló gyakran használja a felhasználók által létrehozott adatok elküldésére a webszerverre vagy a fájl feltöltésekor.
Főbb különbségek:
- A PUT metódust akkor hívják meg, ha egyetlen erőforrást kell módosítania, míg a POST metódust akkor hívják meg, ha hozzá kell rendelnie egy gyermek erőforrást.
- A PUT módszer válasza gyorsítótárazott, de a PUT módszer válaszait nem tárolhatja.
- Használhatja az UPDATE lekérdezést a PUT-ban, míg a létrehozhatja a POST-ban.
- A PUT módszerben az ügyfél dönti el, hogy mely URI erőforrásokkal rendelkezzen, a POST módszerben pedig a kiszolgáló határozza meg, hogy mely URI erőforrásokkal rendelkezzen.
- A PUT konkrétan, míg a POST absztraktként működik.
- Ha ugyanazt a PUT kérést többször elküldi, az eredmény ugyanaz marad, de ha ugyanazt a POST kérést többször is elküldi, akkor más eredményeket kap.
- A PUT módszer idempotens, míg a POST módszer nem idempotens.
Példa a PUT-ra
Itt van a webszerver példája egy PUT módszerre:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
Kérés
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
Válaszok
Ha a cél erőforrás aktuális reprezentációval rendelkezik, és a mellékelt ábrázolás állapotával módosul, akkor a szervernek két választ kell küldenie. Az első válaszkód 200 (OK), a második válaszkód pedig 204 (Nincs tartalom).
Ha a célerőforrás nem rendelkezik reprezentációval, akkor a szervernek tájékoztatnia kell a felhasználót egy 201 kódos (Létrehozva) válasz küldésével.
HTTP/1.1 201 CreatedContent-Location: /new.html
Példa a POST-ra
Íme egy példa a POST módszerre:
HTTP POST http://www.google.com/users
HTTP POST http://www.google.com/users/234/accounts
Az alapértelmezett alkalmazás / x-www-form-urlencoded tartalom típust használó űrlap:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
Különbség a PUT és a POST között
Itt van a fontos különbség a PUT és a POST módszer között:
PUT | POST |
Ez a módszer idempotens. | Ez a módszer nem idempotens. |
A PUT metódus hívás, amikor módosítania kell egyetlen erőforrást, amely már az erőforrás-gyűjtemény része. | A POST módszer hívás, amikor hozzá kell adnia egy gyermekerőforrást az erőforrásgyűjtéshez. |
Az RFC-2616 azt ábrázolja, hogy a PUT metódus kérelmet küld a mellékelt kérelem URI-ban tárolt zárt entitás iránt. | Ez a módszer arra kéri a szervert, hogy fogadja el a kérelemben szereplő entitást. |
A PUT metódus szintaxisa: PUT / questions / {question-id} | A POST módszer szintaxisa a POST / kérdések |
A PUT módszer válasza gyorsítótárban tárolható. | A PUT módszer válaszait nem tárolhatja gyorsítótárba. |
A PUT / vi / juice / megrendelések / 1234 azt jelzi, hogy frissít egy erőforrást, amelyet "1234" jelöl. | A POST / vi / juice / megrendelések azt jelzik, hogy új erőforrást hoz létre, és azonosítót ad vissza az erőforrás leírására. |
Ha ugyanazt a kérést többször is elküldi, az eredmény ugyanaz marad. | Ha ugyanazt a POST kérést többször is elküldi, akkor más eredményeket kap. |
A PUT specifikusan működik. | A POST munka elvont. |
UPDATE lekérdezést használunk a PUT-ban. | A POST-ban létrehozási lekérdezést használunk. |
A PUT módszerben az ügyfél dönti el, hogy mely URI erőforrásokkal rendelkezzen. | A POST módszerben a kiszolgáló dönti el, hogy mely URI erőforrásokkal rendelkezzen. |
API tesztelése PUT kérésekkel
Az API tesztelésének lépései a PUT kérésekkel:
1. lépés: Frissítse az erőforrásokat a PUT kéréssel.
2. lépés: Használja a GET metódust az erőforráshoz. Ha a PUT kérés sikeres, új adatokat kap. Ez a módszer sikertelen lesz, ha a kérelemben megadott adatok érvénytelenek. Ezért nem frissít semmit.
API tesztelése POST kérésekkel
Az API tesztelése a POST kérésekkel az alábbiak szerint történik:
1. lépés: Hozzon létre egy erőforrást a POST kérés segítségével, és győződjön meg arról, hogy 200 állapotkódot ad vissza.
2. lépés: Készítsen GET kérést az erőforrásról, és mentse az adatokat a megfelelő formátumban.
3. lépés: Olyan teszteket kell hozzáadnia, amelyek biztosítják, hogy a POST-kérelmek hibás adatokkal történjenek.
A PUT módszer előnyei
Íme a PUT módszer használatának előnyei / előnyei:
- Segít a szállított entitás tárolásában a mellékelt URI alatt
- Ha a szállított entitás már létezik, akkor elvégezheti a frissítési műveletet, vagy létrehozhat azzal az URI-val.
- Létrehozhat egy erőforrást, ahányszor csak akar.
- Erőforrás létrehozása PUT módszerrel nagyon egyszerű.
- Nem kell ellenőriznie, hogy a felhasználó többször kattintott-e a küldés gombra, vagy sem.
- Azonosíthatja a kérelemhez mellékelt entitást.
A POST módszer előnyei
Íme a POST módszer használatának előnyei / előnyei:
- Ez a módszer segít az erőforrás URI meghatározásában.
- Új erőforrás helyfejléc megadása nagyon egyszerű a helyfejléc használatával.
- Kérelmet küldhet az entitás elfogadására az erőforrás új alárendeltjeként, amelyet az URI azonosít.
- A felhasználók által létrehozott adatokat elküldheti a webszerverre.
- Nagyon hasznos, ha nem ismeri az URL-t, ha bármilyen erőforrást megtart.
- Használja a POST szolgáltatást, ha szüksége van a szerverre, amely az erőforrások URL-generálását vezérli.
- A POST biztonságos módszer, mivel kérései nem maradnak a böngésző előzményeiben.
- Nagy mennyiségű adatot könnyedén továbbíthat postai úton.
- Az adatokat titokban tarthatja.
- Ez a módszer bináris és ASCII adatok küldésére is használható.