PUT vs POST: Apa Perbezaannya?

Apa itu PUT?

Kaedah PUT digunakan untuk mengemas kini sumber yang ada di pelayan. Biasanya, ia menggantikan apa sahaja yang ada di URL sasaran dengan yang lain. Anda boleh menggunakannya untuk membuat sumber baru atau menimpa sumber yang ada. PUT meminta agar entiti yang dilampirkan mesti disimpan di bawah URI yang diminta (Uniform Resource Identifier).

Dalam tutorial ini, anda akan belajar:

  • Apa itu PUT?
  • Apa itu POST?
  • Contoh PUT
  • Contoh POST
  • Perbezaan antara PUT dan POST
  • Menguji API dengan permintaan PUT
  • Menguji API dengan permintaan POST
  • Kelebihan Kaedah PUT
  • Kelebihan Kaedah POST

Apa itu POST?

POST adalah kaedah yang disokong oleh HTTP dan

menggambarkan bahawa pelayan web menerima data yang disertakan dalam badan mesej, yang diminta. POST sering digunakan oleh World Wide Web untuk mengirim data yang dihasilkan pengguna ke pelayan web atau semasa anda memuat naik fail.

PERBEZAAN UTAMA:

  • Kaedah PUT dipanggil apabila anda harus mengubah satu sumber sementara kaedah POST dipanggil apabila anda harus menambahkan sumber anak.
  • Respons kaedah PUT dapat disimpan dalam cache tetapi anda tidak dapat menyimpan respons kaedah PUT.
  • Anda boleh menggunakan pertanyaan UPDATE di PUT sedangkan anda boleh menggunakan membuat pertanyaan di POST.
  • Dalam kaedah PUT, klien memutuskan sumber URI mana yang harus dimiliki, dan dalam kaedah POST, pelayan memutuskan sumber URI mana yang harus dimiliki.
  • PUT berfungsi secara spesifik sementara POST berfungsi sebagai abstrak.
  • Sekiranya anda menghantar permintaan PUT yang sama berkali-kali, hasilnya akan tetap sama tetapi jika anda mengirim permintaan POST yang sama beberapa kali, anda akan menerima hasil yang berbeza.
  • Kaedah PUT tidak bersifat sementara sedangkan kaedah POST tidak idempoten.

Contoh PUT

Berikut adalah contoh pelayan laman web kaedah 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

Sekiranya sumber sasaran mempunyai perwakilan semasa dan diubah dengan keadaan perwakilan terlampir, maka pelayan harus mengirim dua respons. Kod respons pertama adalah 200 (OK), dan kod respons kedua adalah 204 (Tanpa Kandungan).

Sekiranya sumber sasaran tidak mempunyai perwakilan, maka pelayan harus memberitahu pengguna dengan menghantar respons kod 201 (Dibuat).

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

Contoh POST

Berikut adalah contoh kaedah POST:

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

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

Borang menggunakan jenis aplikasi lalai / jenis kandungan x-www-form-urlencoded:

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

Perbezaan antara PUT dan POST

Inilah perbezaan penting antara kaedah PUT dan POST:

LETAK POS
Kaedah ini tidak sesuai. Kaedah ini tidak lemah.
Kaedah PUT adalah panggilan apabila anda harus mengubah satu sumber, yang sudah menjadi bahagian pengumpulan sumber. Kaedah POST adalah panggilan apabila anda perlu menambahkan sumber anak di bawah pengumpulan sumber.
RFC-2616 menggambarkan bahawa kaedah PUT mengirimkan permintaan untuk entiti tertutup yang disimpan dalam URI permintaan yang disediakan. Kaedah ini meminta pelayan untuk menerima entiti yang disertakan dalam permintaan.
Sintaks kaedah PUT adalah PUT / question / {question-id} Sintaks kaedah POST adalah POST / soalan
Jawapan kaedah PUT boleh dicache. Anda tidak dapat menyimpan jawapan kaedah PUT.
PUT / vi / jus / pesanan / 1234 menunjukkan bahawa anda mengemas kini sumber yang dikenal pasti oleh "1234". POST / vi / jus / pesanan menunjukkan bahawa anda sedang membuat sumber baru dan mengembalikan pengecam untuk menerangkan sumber tersebut.
Sekiranya anda menghantar permintaan yang sama berkali-kali, hasilnya akan tetap sama. Sekiranya anda menghantar permintaan POST yang sama lebih dari satu kali, anda akan menerima hasil yang berbeza.
PUT berfungsi sebagai spesifik. POST berfungsi sebagai abstrak.
Kami menggunakan pertanyaan UPDATE dalam PUT. Kami menggunakan pertanyaan buat di POST.
Dalam kaedah PUT, pelanggan memutuskan sumber URI mana yang harus dimiliki. Dalam kaedah POST, pelayan memutuskan sumber URI mana yang harus dimiliki.

Menguji API dengan permintaan PUT

Berikut adalah langkah-langkah untuk menguji API dengan permintaan PUT:

Menguji API dengan permintaan PUT

Langkah 1) Kemas kini sumber dengan permintaan PUT.

Langkah 2) Gunakan kaedah GET untuk sumber. Sekiranya permintaan PUT berjaya, anda akan menerima data baru. Kaedah ini akan gagal sekiranya data yang diberikan dalam permintaan tidak sah. Oleh itu, ia tidak akan mengemas kini apa-apa.

Menguji API dengan permintaan POST

Berikut adalah langkah-langkah untuk menguji API dengan permintaan POST:

Menguji API dengan permintaan POST

Langkah 1) Buat sumber menggunakan permintaan POST dan pastikan ia mengembalikan 200 kod status.

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

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

Kelebihan Kaedah PUT

Berikut adalah kebaikan / faedah menggunakan kaedah PUT:

  • Ini membantu anda menyimpan entiti yang disediakan di bawah URI yang dibekalkan
  • Sekiranya entiti yang disediakan sudah ada, maka anda boleh melakukan operasi kemas kini atau anda boleh membuat dengan URI tersebut.
  • Anda boleh membuat sumber seberapa banyak yang anda suka.
  • Membuat sumber dengan kaedah PUT sangat mudah.
  • Anda tidak perlu memeriksa sama ada pengguna telah mengklik butang hantar beberapa kali atau tidak.
  • Ia dapat mengenal pasti entiti yang disertakan dengan permintaan tersebut.

Kelebihan Kaedah POST

Berikut adalah kebaikan / faedah menggunakan kaedah POST:

  • Kaedah ini membantu anda menentukan URI sumber.
  • Menentukan header lokasi sumber baru sangat mudah menggunakan header lokasi.
  • Anda boleh menghantar permintaan untuk menerima entiti sebagai bawahan sumber baru, yang dikenal pasti oleh URI.
  • Anda boleh menghantar data yang dihasilkan pengguna ke pelayan web.
  • Ia sangat berguna apabila anda tidak mengetahui URL untuk menyimpan sumber.
  • Gunakan POST apabila anda memerlukan pelayan, yang mengawal penghasilan URL sumber anda.
  • POST adalah kaedah yang selamat kerana permintaannya tidak kekal dalam sejarah penyemak imbas.
  • Anda boleh menghantar sejumlah besar data dengan mudah melalui pos.
  • Anda boleh menyimpan data peribadi.
  • Kaedah ini boleh digunakan untuk menghantar data binari dan ASCII.

Artikel menarik...