PUT vs POST: Mi a különbség?

Tartalomjegyzék:

Anonim

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: 20

New 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:

API tesztelése 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:

API tesztelése POST kérésekkel

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ó.