PUT vs POST: Apa Bedanya?

Daftar Isi:

Anonim

Apa itu PUT?

Metode PUT digunakan untuk memperbarui sumber daya yang tersedia di server. Biasanya, ini menggantikan apa pun yang ada di URL target dengan yang lain. Anda dapat menggunakannya untuk membuat sumber daya baru atau menimpa yang sudah ada. PUT meminta agar entitas terlampir harus disimpan di bawah URI yang diminta yang disediakan (Uniform Resource Identifier).

Dalam tutorial ini, Anda akan mempelajari:

  • Apa itu PUT?
  • Apa itu POST?
  • Contoh PUT
  • Contoh POST
  • Perbedaan antara PUT dan POST
  • Menguji API dengan permintaan PUT
  • Menguji API dengan permintaan POST
  • Keuntungan Metode PUT
  • Keuntungan Metode POST

Apa itu POST?

POST adalah metode yang didukung oleh HTTP dan

menggambarkan bahwa server web menerima data yang termasuk dalam badan pesan, yang diminta. POST sering digunakan oleh World Wide Web untuk mengirim data yang dibuat pengguna ke server web atau saat Anda mengunggah file.

PERBEDAAN UTAMA:

  • Metode PUT dipanggil ketika Anda harus memodifikasi satu sumber daya sementara metode POST dipanggil ketika Anda harus menambahkan sumber daya anak.
  • Respons metode PUT dapat di-cache tetapi Anda tidak dapat menyimpan respons metode PUT.
  • Anda dapat menggunakan kueri UPDATE di PUT sedangkan Anda dapat menggunakan buat kueri di POST.
  • Dalam metode PUT, klien memutuskan sumber daya URI mana yang harus dimiliki, dan dalam metode POST, server memutuskan sumber daya URI mana yang harus dimiliki.
  • PUT bekerja secara spesifik sementara POST bekerja sebagai abstrak.
  • Jika Anda mengirim permintaan PUT yang sama beberapa kali, hasilnya akan tetap sama tetapi jika Anda mengirim permintaan POST yang sama beberapa kali, Anda akan menerima hasil yang berbeda.
  • Metode PUT adalah idempoten sedangkan metode POST tidak idempoten.

Contoh PUT

Berikut adalah contoh server web dari metode PUT:

HTTP PUT http://www.google.com/users/234

HTTP PUT http://www.google.com/users/234/accounts/567

Permintaan

PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20

New File

Tanggapan

Jika sumber daya target memiliki representasi saat ini dan dimodifikasi dengan keadaan representasi tertutup, maka server harus mengirimkan dua tanggapan. Kode respon pertama adalah 200 (OK), dan kode respon kedua adalah 204 (No Content).

Jika sumber daya target tidak memiliki representasi apa pun, maka server harus memberi tahu pengguna dengan mengirimkan respons 201 kode (Dibuat).

 HTTP/1.1 201 CreatedContent-Location: /new.html

Contoh POST

Berikut adalah contoh metode POST:

HTTP POST http://www.google.com/users

HTTP POST http://www.google.com/users/234/accounts

Formulir yang menggunakan jenis konten default application / x-www-form-urlencoded:

POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2

Perbedaan antara PUT dan POST

Berikut adalah perbedaan penting antara metode PUT dan POST:

TARUH POS
Metode ini idempoten. Metode ini tidak idempoten.
Metode PUT adalah panggilan ketika Anda harus mengubah satu sumber daya, yang sudah menjadi bagian dari kumpulan sumber daya. Metode POST adalah panggilan ketika Anda harus menambahkan sumber daya anak di bawah koleksi sumber daya.
RFC-2616 menggambarkan bahwa metode PUT mengirimkan permintaan untuk entitas tertutup yang disimpan dalam URI permintaan yang disediakan. Metode ini meminta server untuk menerima entitas yang disertakan dalam permintaan tersebut.
Sintaks metode PUT adalah PUT / pertanyaan / {question-id} Sintaks metode POST adalah POST / pertanyaan
Jawaban metode PUT dapat di-cache. Anda tidak dapat menyimpan respons metode PUT ke dalam cache.
PUT / vi / juice / orders / 1234 menunjukkan bahwa Anda memperbarui sumber daya yang diidentifikasi oleh "1234". POST / vi / juice / orders menunjukkan bahwa Anda membuat sumber daya baru dan mengembalikan pengenal untuk mendeskripsikan sumber daya.
Jika Anda mengirim permintaan yang sama beberapa kali, hasilnya akan tetap sama. Jika Anda mengirim permintaan POST yang sama lebih dari satu kali, Anda akan menerima hasil yang berbeda.
PUT bekerja secara spesifik. POST berfungsi sebagai abstrak.
Kami menggunakan kueri UPDATE di PUT. Kami menggunakan buat kueri di POST.
Dalam metode PUT, klien memutuskan sumber daya URI mana yang harus dimiliki. Dalam metode POST, server memutuskan sumber daya URI mana yang harus dimiliki.

Menguji API dengan permintaan PUT

Berikut langkah-langkah untuk menguji API dengan permintaan PUT:

Menguji API dengan permintaan PUT

Langkah 1) Perbarui sumber daya dengan permintaan PUT.

Langkah 2) Gunakan metode GET untuk sumber daya. Jika permintaan PUT berhasil, Anda akan menerima data baru. Metode ini akan gagal jika data yang diberikan dalam permintaan tidak valid. Oleh karena itu, tidak akan memperbarui apapun.

Menguji API dengan permintaan POST

Berikut langkah-langkah untuk menguji API dengan permintaan POST:

Menguji API dengan permintaan POST

Langkah 1) Buat sumber daya menggunakan permintaan POST dan pastikan itu mengembalikan 200 kode status.

Langkah 2) Buat permintaan GET untuk sumber daya itu dan simpan data dalam format yang benar.

Langkah 3) Anda harus menambahkan tes yang memastikan permintaan POST gagal dengan data yang salah.

Keuntungan Metode PUT

Berikut kelebihan / keuntungan menggunakan metode PUT:

  • Ini membantu Anda menyimpan entitas yang disediakan di bawah URI yang disediakan
  • Jika entitas yang disediakan sudah ada, Anda dapat melakukan operasi pembaruan, atau Anda dapat membuat dengan URI tersebut.
  • Anda dapat membuat sumber daya sebanyak yang Anda suka.
  • Membuat sumber daya dengan metode PUT sangat mudah.
  • Anda tidak perlu memeriksa apakah pengguna telah mengklik tombol kirim beberapa kali atau tidak.
  • Itu dapat mengidentifikasi entitas yang disertakan dengan permintaan.

Keuntungan Metode POST

Berikut kelebihan / keuntungan menggunakan metode POST:

  • Metode ini membantu Anda menentukan URI sumber daya.
  • Menentukan tajuk lokasi sumber daya baru sangat mudah menggunakan tajuk lokasi.
  • Anda dapat mengirim permintaan untuk menerima entitas sebagai subordinat baru dari sumber daya, yang diidentifikasi oleh URI.
  • Anda dapat mengirim data yang dibuat pengguna ke server web.
  • Ini sangat berguna bila Anda tidak tahu URL untuk menyimpan sumber daya apa pun.
  • Gunakan POST saat Anda membutuhkan server, yang mengontrol pembuatan URL sumber daya Anda.
  • POST adalah metode yang aman karena permintaannya tidak tetap ada dalam riwayat browser.
  • Anda dapat dengan mudah mengirimkan data dalam jumlah besar menggunakan pos.
  • Anda dapat menjaga kerahasiaan data.
  • Metode ini dapat digunakan untuk mengirim data biner serta ASCII.