PUT vs POST - الفرق بينهما

الاختلافات الرئيسية بين PUT و POST

  • يتم استدعاء أسلوب PUT عندما يتعين عليك تعديل مورد واحد، بينما يتم استدعاء أسلوب POST عندما يتعين عليك إضافة مورد فرعي.
  • يمكن تخزين استجابات أسلوب POST مؤقتًا، لكن لا يمكنك تخزين استجابات أسلوب PUT مؤقتًا.
  • يمكنك استخدام استعلام UPDATE في PUT، بينما يمكنك استخدام إنشاء استعلام في POST.
  • في طريقة PUT، يقرر العميل مورد URI الذي يجب أن يحتوي عليه، وفي طريقة POST، يقرر الخادم مورد URI الذي يجب أن يحتوي عليه.
  • يعمل PUT بشكل محدد، بينما يعمل POST كملخص.
  • إذا قمت بإرسال نفس طلب PUT عدة مرات، فستظل النتيجة كما هي، ولكن إذا قمت بإرسال نفس طلب POST عدة مرات، فستتلقى نتائج مختلفة.
  • طريقة PUT غير فعالة، في حين أن طريقة POST ليست غير فعالة.
وضع مقابل نشر
وضع مقابل نشر

ما هي طريقة PUT؟

يتم استخدام طريقة PUT لتحديث الموارد المتاحة على الخادم. عادةً ما يستبدل كل ما هو موجود في عنوان URL الهدف بشيء آخر. يمكنك استخدامه لإنشاء مورد جديد أو الكتابة فوق مورد موجود. يطلب PUT أن يتم تخزين الكيان المغلق ضمن URI المطلوب (معرف الموارد الموحد).

ما هي طريقة ما بعد؟

POST هي طريقة يدعمها HTTP و

يصور أن خادم الويب يقبل البيانات المضمنة في نص الرسالة المطلوبة. غالبًا ما يتم استخدام POST بواسطة شبكة الويب العالمية لإرسال البيانات التي أنشأها المستخدم إلى خادم الويب أو عند تحميل الملف.

الاختلافات بين PUT وPOST في REST APIs

إليك الفرق المهم بين طريقة PUT و POST:

ضع سأعين
هذه الطريقة غير فعالة. هذه الطريقة ليست عاجزة.
يتم استدعاء أسلوب PUT عندما يتعين عليك تعديل مورد واحد، وهو بالفعل جزء من مجموعة الموارد. يتم استدعاء أسلوب POST عندما يتعين عليك إضافة مورد فرعي ضمن مجموعة الموارد.
يوضح RFC-2616 أن طريقة PUT ترسل طلبًا لكيان مغلق مخزن في URI للطلب المقدم. تطلب هذه الطريقة من الخادم قبول الكيان الموجود في الطلب.
صيغة أسلوب PUT هي PUT /questions/{question-id} صيغة أسلوب POST هي POST /questions
لا يمكنك تخزين استجابات أسلوب PUT مؤقتًا. يمكن تخزين إجابة طريقة POST مؤقتًا.
يشير PUT /vi/juice/orders/1234 إلى أنك تقوم بتحديث مورد تم تحديده بواسطة "1234". يشير POST /vi/juice/orders إلى أنك تقوم بإنشاء مورد جديد وتقوم بإرجاع معرف لوصف المورد.
إذا قمت بإرسال نفس الطلب عدة مرات، فستبقى النتيجة كما هي. إذا قمت بإرسال نفس طلب POST أكثر من مرة، فسوف تتلقى نتائج مختلفة.
يعمل PUT بشكل محدد. POST تعمل كمجردة.
نحن نستخدم استعلام UPDATE في PUT. نحن نستخدم إنشاء استعلام في POST.
في أسلوب PUT، يقرر العميل مورد URI الذي يجب أن يحتوي عليه. في طريقة POST، يقرر الخادم مورد URI الذي يجب أن يحتوي عليه.

مثال على وضع

فيما يلي مثال خادم الويب لطريقة PUT:

HTTP وضع http://www.google.com/users/234

HTTP وضع http://www.google.com/users/234/accounts/567

أطلب

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

<p>New File</p>

ردود

إذا كان المورد الهدف له تمثيل حالي وتم تعديله بحالة التمثيل المرفق، فيجب على الخادم إرسال استجابتين. رمز الاستجابة الأول هو 200 (موافق)، ورمز الاستجابة الثاني هو 204 (لا يوجد محتوى).

إذا لم يكن للمورد الهدف أي تمثيل، فيجب على الخادم إبلاغ المستخدم عن طريق إرسال استجابة رمز 201 (تم إنشاؤه).

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

مثال على ما بعد

فيما يلي مثال على طريقة POST:

مشاركة HTTP http://www.google.com/users

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

نموذج يستخدم نوع المحتوى الافتراضي للتطبيق/x-www-form-urlencoded:

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

field1=value1&field2=value2

اختبار واجهة برمجة التطبيقات (API) مع طلبات PUT

فيما يلي خطوات اختبار واجهة برمجة التطبيقات (API) مع طلبات PUT:

اختبار واجهة برمجة التطبيقات (API) مع طلبات PUT
اختبار واجهة برمجة التطبيقات (API) مع طلبات PUT

الخطوة 1) تحديث الموارد بطلب PUT.

الخطوة 2) استخدم طريقة GET للموارد. إذا نجح طلب PUT، فسوف تتلقى بيانات جديدة. ستفشل هذه الطريقة إذا كانت البيانات المقدمة في الطلب غير صالحة. ولذلك، فإنه لن يتم تحديث أي شيء.

اختبار واجهة برمجة التطبيقات (API) مع طلبات POST

فيما يلي خطوات اختبار واجهة برمجة التطبيقات (API) مع طلبات POST:

اختبار واجهة برمجة التطبيقات (API) مع طلبات POST

اختبار واجهة برمجة التطبيقات (API) مع طلبات POST

الخطوة 1) قم بإنشاء مورد باستخدام طلب POST وتأكد من أنه يُرجع 200 رمز حالة.

الخطوة 2) قم بإجراء طلب GET لهذا المورد واحفظ البيانات بالتنسيق الصحيح.

الخطوة 3) يجب عليك إضافة اختبارات تضمن فشل طلبات POST ببيانات غير صحيحة.

مزايا طريقة PUT

فيما يلي إيجابيات/فوائد استخدام طريقة PUT:

  • يساعدك على تخزين الكيان المقدم ضمن URI المزود
  • إذا كان الكيان المقدم موجودًا بالفعل، فيمكنك إجراء التحديث operaأو يمكنك الإنشاء باستخدام URI هذا.
  • يمكنك إنشاء مورد عدة مرات كما تريد.
  • يعد إنشاء مورد باستخدام طريقة PUT أمرًا سهلاً للغاية.
  • لا تحتاج إلى التحقق مما إذا كان المستخدم قد قام بالنقر فوق زر الإرسال عدة مرات أم لا.
  • يمكنه التعرف على الجهة المرفقة بالطلب.

مزايا طريقة POST

فيما يلي إيجابيات/فوائد استخدام طريقة POST:

  • تساعدك هذه الطريقة على تحديد URI للمورد.
  • يعد تحديد رأس موقع مورد جديد أمرًا سهلاً للغاية باستخدام رأس الموقع.
  • يمكنك إرسال طلب لقبول الكيان باعتباره تابعًا جديدًا للمورد، والذي يتم تعريفه بواسطة URI.
  • يمكنك إرسال البيانات التي أنشأها المستخدم إلى خادم الويب.
  • إنه مفيد جدًا عندما لا تعرف عنوان URL للاحتفاظ بأي مورد.
  • استخدم POST عندما تحتاج إلى الخادم، الذي يتحكم في إنشاء عنوان URL لمواردك.
  • POST هي طريقة آمنة لأن طلباتها لا تبقى في سجل المتصفح.
  • يمكنك نقل كمية كبيرة من البيانات بسهولة باستخدام البريد.
  • يمكنك الحفاظ على خصوصية البيانات.
  • يمكن استخدام هذه الطريقة لإرسال البيانات الثنائية وكذلك بيانات ASCII.