PUT vs POST - الفرق بينهما
الاختلافات الرئيسية بين PUT و POST
- يتم استدعاء أسلوب PUT عندما يتعين عليك تعديل مورد واحد، بينما يتم استدعاء أسلوب POST عندما يتعين عليك إضافة مورد فرعي.
- يمكن تخزين استجابات أسلوب POST مؤقتًا، لكن لا يمكنك تخزين استجابات أسلوب PUT مؤقتًا.
- يمكنك استخدام استعلام UPDATE في PUT، بينما يمكنك استخدام إنشاء استعلام في POST.
- في طريقة PUT، يقرر العميل مورد URI الذي يجب أن يحتوي عليه، وفي طريقة POST، يقرر الخادم مورد URI الذي يجب أن يحتوي عليه.
- يعمل الأمر PUT بشكل محدد، بينما يعمل الأمر POST بشكل مطلقtract.
- إذا قمت بإرسال نفس طلب 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 بشكل محدد. | العمل بعد انقطاعtract. |
| نحن نستخدم استعلام 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:

الخطوة 1) تحديث الموارد بطلب PUT.
الخطوة 2) استخدم طريقة GET للموارد. إذا نجح طلب PUT، فسوف تتلقى بيانات جديدة. ستفشل هذه الطريقة إذا كانت البيانات المقدمة في الطلب غير صالحة. ولذلك، فإنه لن يتم تحديث أي شيء.
اختبار واجهة برمجة التطبيقات (API) مع طلبات POST
فيما يلي خطوات اختبار واجهة برمجة التطبيقات (API) مع طلبات POST:
الخطوة 1) قم بإنشاء مورد باستخدام طلب POST وتأكد من أنه يُرجع 200 رمز حالة.
الخطوة 2) قم بإجراء طلب GET لهذا المورد واحفظ البيانات بالتنسيق الصحيح.
الخطوة 3) يجب عليك إضافة اختبارات تضمن فشل طلبات POST ببيانات غير صحيحة.
مزايا طريقة PUT
فيما يلي إيجابيات/فوائد استخدام طريقة PUT:
- يساعدك على تخزين الكيان المقدم ضمن URI المزود
- إذا كان الكيان المقدم موجودًا بالفعل، فيمكنك إجراء عملية التحديث، أو يمكنك إنشاؤه باستخدام عنوان URI هذا.
- يمكنك إنشاء مورد عدة مرات كما تريد.
- يعد إنشاء مورد باستخدام طريقة PUT أمرًا سهلاً للغاية.
- لا تحتاج إلى التحقق مما إذا كان المستخدم قد قام بالنقر فوق زر الإرسال عدة مرات أم لا.
- يمكنه التعرف على الجهة المرفقة بالطلب.
مزايا طريقة POST
فيما يلي إيجابيات/فوائد استخدام طريقة POST:
- تساعدك هذه الطريقة على تحديد URI للمورد.
- يعد تحديد رأس موقع مورد جديد أمرًا سهلاً للغاية باستخدام رأس الموقع.
- يمكنك إرسال طلب لقبول الكيان باعتباره تابعًا جديدًا للمورد، والذي يتم تعريفه بواسطة URI.
- يمكنك إرسال البيانات التي أنشأها المستخدم إلى خادم الويب.
- إنه مفيد للغاية عندما لا تعرف URL للحفاظ على أي مورد.
- استخدم POST عندما تحتاج إلى الخادم، الذي يتحكم URL توليد مواردك.
- POST هي طريقة آمنة لأن طلباتها لا تبقى في سجل المتصفح.
- يمكنك بسهولة transmit كمية كبيرة من البيانات باستخدام عملية النشر.
- يمكنك الحفاظ على خصوصية البيانات.
- يمكن استخدام هذه الطريقة لإرسال البيانات الثنائية وكذلك بيانات ASCII.
