Ce este PUT?
Metoda PUT este utilizată pentru actualizarea resurselor disponibile pe server. De obicei, înlocuiește orice există la adresa URL țintă cu altceva. Puteți să o utilizați pentru a crea o resursă nouă sau pentru a suprascrie una existentă. PUT solicită ca entitatea închisă să fie stocată sub URI (Uniform Resource Identifier) furnizat.
În acest tutorial, veți învăța:
- Ce este PUT?
- Ce este POST?
- Exemplu de PUT
- Exemplu de POST
- Diferența dintre PUT și POST
- Testarea unui API cu solicitări PUT
- Testarea unui API cu solicitări POST
- Avantajele metodei PUT
- Avantajele metodei POST
Ce este POST?
POST este o metodă care este acceptată de HTTP și
descrie că un server web acceptă datele incluse în corpul mesajului, care sunt solicitate. POST este adesea folosit de World Wide Web pentru a trimite datele generate de utilizator către serverul web sau când încărcați fișierul.
DIFERENȚE CHEIE:
- Metoda PUT este apelată atunci când trebuie să modificați o singură resursă, în timp ce metoda POST este apelată atunci când trebuie să adăugați o resursă copil.
- Răspunsul metodei PUT poate fi memorat în cache, dar nu puteți ascunde răspunsurile metodei PUT.
- Puteți utiliza interogarea UPDATE în PUT, în timp ce puteți utiliza crearea interogării în POST.
- În metoda PUT, clientul decide ce resursă URI trebuie să aibă, iar în metoda POST, serverul decide ce resursă URI trebuie să aibă.
- PUT funcționează la fel de specific, în timp ce POST funcționează ca abstract.
- Dacă trimiteți aceeași cerere PUT de mai multe ori, rezultatul va rămâne același, dar dacă trimiteți aceeași solicitare POST de mai multe ori, veți primi rezultate diferite.
- Metoda PUT este idempotentă, în timp ce metoda POST nu este idempotentă.
Exemplu de PUT
Iată exemplul serverului web al unei metode PUT:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
Cerere
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
Răspunsuri
Dacă resursa țintă are reprezentare curentă și este modificată cu starea reprezentării închise, atunci serverul ar trebui să trimită două răspunsuri. Primul cod de răspuns este 200 (OK), iar al doilea cod de răspuns este 204 (Fără conținut).
Dacă resursa țintă nu are nicio reprezentare, atunci serverul ar trebui să informeze utilizatorul prin trimiterea unui răspuns de cod 201 (Creat).
HTTP/1.1 201 CreatedContent-Location: /new.html
Exemplu de POST
Iată un exemplu de metodă POST:
HTTP POST http://www.google.com/users
HTTP POST http://www.google.com/users/234/accounts
Un formular care utilizează tipul de conținut implicit aplicație / x-www-form-urlencoded:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
Diferența dintre PUT și POST
Iată diferența importantă dintre metoda PUT și POST:
A PUNE | POST |
Această metodă este idempotentă. | Această metodă nu este idempotentă. |
Metoda PUT este apelată atunci când trebuie să modificați o singură resursă, care face deja parte din colectarea resurselor. | Metoda POST este apelată atunci când trebuie să adăugați o resursă copil sub colectarea resurselor. |
RFC-2616 descrie că metoda PUT trimite o cerere pentru o entitate închisă stocată în URI-ul de solicitare furnizat. | Această metodă solicită serverului să accepte entitatea care este inclusă în cerere. |
Sintaxa metodei PUT este PUT / questions / {question-id} | Sintaxa metodei POST este POST / întrebări |
Răspunsul la metoda PUT poate fi stocat în cache. | Nu puteți cache răspunsurile metodei PUT. |
PUT / vi / juice / orders / 1234 indică faptul că actualizați o resursă care este identificată prin „1234”. | POST / vi / juice / orders indică faptul că creați o resursă nouă și returnați un identificator pentru a descrie resursa. |
Dacă trimiteți aceeași solicitare de mai multe ori, rezultatul va rămâne același. | Dacă trimiteți aceeași solicitare POST de mai multe ori, veți primi rezultate diferite. |
PUT funcționează la fel de specific. | POST lucrează ca abstract. |
Folosim interogarea UPDATE în PUT. | Folosim interogare create în POST. |
În metoda PUT, clientul decide ce resursă URI ar trebui să aibă. | În metoda POST, serverul decide ce resursă URI ar trebui să aibă. |
Testarea unui API cu solicitări PUT
Iată pașii pentru a testa API cu solicitări PUT:
Pasul 1) Actualizați resursele cu cererea PUT.
Pasul 2) Utilizați metoda GET pentru resurse. Dacă PUT solicită succes, veți primi date noi. Această metodă va eșua dacă datele furnizate în cerere nu sunt valide. Prin urmare, nu va actualiza nimic.
Testarea unui API cu solicitări POST
Iată pașii pentru a testa API cu solicitări POST:
Pasul 1) Creați o resursă utilizând cererea POST și asigurați-vă că returnează 200 de cod de stare.
Pasul 2) Faceți o cerere GET pentru resursa respectivă și salvați datele în formatul corect.
Pasul 3) Trebuie să adăugați teste care să asigure că solicitările POST eșuează cu date incorecte.
Avantajele metodei PUT
Iată avantajele / avantajele utilizării metodei PUT:
- Vă ajută să stocați entitatea furnizată sub URI-ul furnizat
- Dacă entitatea furnizată există deja, atunci puteți efectua operația de actualizare sau puteți crea cu acel URI.
- Puteți crea o resursă de câte ori doriți.
- Crearea unei resurse cu metoda PUT este foarte ușoară.
- Nu trebuie să verificați dacă utilizatorul a făcut clic pe butonul de trimitere de mai multe ori sau nu.
- Poate identifica entitatea inclusă în cerere.
Avantajele metodei POST
Iată avantajele / avantajele utilizării metodei POST:
- Această metodă vă ajută să determinați URI-ul resursei.
- Specificarea unui nou antet de locație a resurselor este foarte ușor folosind antetul de locație.
- Puteți trimite o cerere de acceptare a entității ca o nouă subordonată a resursei, care este identificată de URI.
- Puteți trimite date generate de utilizator către serverul web.
- Este foarte util atunci când nu cunoașteți adresa URL pentru a păstra orice resursă.
- Utilizați POST atunci când aveți nevoie de server, care controlează generarea URL a resurselor dvs.
- POST este o metodă sigură, deoarece solicitările sale nu rămân în istoricul browserului.
- Puteți transmite fără efort o cantitate mare de date folosind post.
- Puteți păstra datele private.
- Această metodă poate fi utilizată pentru a trimite date binare, precum și ASCII.