PUT vs POST – Perbedaan Antara Keduanya

Perbedaan Utama antara PUT dan POST

  • Metode PUT dipanggil ketika Anda harus memodifikasi satu sumber daya, sedangkan metode POST dipanggil ketika Anda harus menambahkan sumber daya anak.
  • Respons metode POST dapat di-cache, tetapi Anda tidak dapat melakukan cache respons metode PUT.
  • Anda dapat menggunakan kueri UPDATE di PUT, sedangkan Anda dapat menggunakan kueri pembuatan 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 berfungsi secara spesifik, sedangkan POST berfungsi 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 bersifat idempoten, sedangkan metode POST tidak idempoten.
PUT vs POST
PUT vs POST

Apa itu Metode 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 sumber daya yang sudah ada. PUT meminta agar entitas terlampir harus disimpan di bawah URI (Uniform Resource Identifier) ​​yang diminta.

Apa itu Metode POST?

POST adalah metode yang didukung oleh HTTP dan

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

Perbedaan antara PUT dan POST di REST API

Inilah perbedaan penting antara metode PUT dan POST:

PUT POST
Metode ini idempoten. Metode ini tidak idempoten.
Metode PUT dipanggil ketika Anda harus memodifikasi satu sumber daya, yang sudah menjadi bagian dari kumpulan sumber daya. Metode POST dipanggil ketika Anda harus menambahkan sumber daya anak di bawah pengumpulan 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.
Sintaks metode PUT adalah PUT /questions/{question-id} Sintaks metode POST adalah POST /pertanyaan
Anda tidak dapat menyimpan tanggapan metode PUT dalam cache. Jawaban metode POST dapat di-cache.
PUT /vi/juice/orders/1234 menunjukkan bahwa Anda memperbarui sumber daya yang diidentifikasi dengan “1234”. POST /vi/juice/orders menunjukkan bahwa Anda membuat sumber daya baru dan mengembalikan pengidentifikasi untuk menjelaskan sumber daya tersebut.
Jika Anda mengirimkan permintaan yang sama beberapa kali, hasilnya akan tetap sama. Jika Anda mengirimkan 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 pembuatan 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.

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

Meminta

PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 20

<p>New File</p>

Responses

Jika sumber daya target memiliki representasi saat ini dan dimodifikasi dengan status representasi terlampir, maka server harus mengirimkan dua respons. Kode respon pertama adalah 200 (OK), dan kode respon kedua adalah 204 (Tanpa Konten).

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

 HTTP/1.1 201 Created
Content-Location: /new.html

Contoh POSTING

Berikut adalah contoh metode POST:

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

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

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

POST /test HTTP/1.1
Host: abc.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 40

field1=value1&field2=value2

Menguji API dengan permintaan PUT

Berikut langkah-langkah menguji API dengan permintaan PUT:

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, ini tidak akan memperbarui apa pun.

Menguji API dengan permintaan POST

Berikut langkah-langkah untuk menguji API dengan permintaan POST:

Menguji API dengan Permintaan POST

Menguji API dengan permintaan POST

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

Langkah 2) Buat permintaan GET untuk sumber daya tersebut 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 resource dengan metode PUT sangatlah mudah.
  • Anda tidak perlu memeriksa apakah pengguna sudah mengklik tombol kirim berkali-kali atau belum.
  • Itu dapat mengidentifikasi entitas yang disertakan dengan permintaan tersebut.

Keuntungan Metode POST

Berikut kelebihan/manfaat menggunakan metode POST:

  • Metode ini membantu Anda menentukan URI sumber daya.
  • Menentukan header lokasi sumber daya baru sangat mudah menggunakan header lokasi.
  • Anda dapat mengirim permintaan untuk menerima entitas sebagai bawahan baru dari sumber daya, yang diidentifikasi oleh URI.
  • Anda dapat mengirim data buatan pengguna ke server web.
  • Ini sangat berguna ketika Anda tidak mengetahui URL untuk menyimpan sumber daya apa pun.
  • Gunakan POST saat Anda memerlukan server, yang mengontrol pembuatan URL sumber daya Anda.
  • POST adalah metode yang aman karena permintaannya tidak tersimpan dalam riwayat browser.
  • Anda dapat dengan mudah mengirimkan data dalam jumlah besar menggunakan pos.
  • Anda dapat merahasiakan datanya.
  • Metode ini dapat digunakan untuk mengirim data biner dan ASCII.