كلا من PUT و POST هما طرق طلب تستخدم في بروتوكول HTTP. فما الفرق بين PUT و POST؟ في هذه المقالة، سنقدم طرق HTTP مثل PUT و POST بالتفصيل، وسنقوم أيضًا بشرح متى يتم استخدام PUT ومتى يتم استخدام POST بالتفصيل.
ما هي طريقة PUT في HTTP؟
ستقوم هذه المقالة أولاً بتقديم طريقة PUT. PUT هي واحدة من طرق طلب HTTP وتستخدم لـ إنشاء أو تحديث مورد في موقع URI المحدد.
ميزات طريقة PUT
تمتلك طريقة PUT الخصائص التالية:
- تستخدم URI الطلب كمعرف للمورد
- تحتوي جسم الطلب على المورد المحدث بالكامل
- تمتلك خاصية عدم التأثير المتكرر - تكرار نفس الطلب ينتج نفس النتيجة
- إذا كان المورد الحالي غير موجود، سيتم إنشاء مورد جديد
- إذا كان المورد الحالي موجودًا، سيتم استبداله بالكامل بمحتويات الجسم
بعبارة أخرى، تقوم طريقة PUT بشكل أساسي بحفظ محتوى الجسم المرسل في الطلب كمورد في موقع مسار URI. غالبًا ما تستخدم واجهات برمجة التطبيقات RESTful طريقة PUT لتحديث الموارد.
من خلال إزالة منظور الشخص الأول وإعادة صياغة المقال قليلاً، يمكن التركيز مباشرة على تقديم الميزات الرئيسية واستخدام طريقة PUT. يرجى إخباري إذا كانت هذه التحسينات تلبي متطلباتك أو إذا كان لديك أي ملاحظات أخرى!
ما هي طريقة POST في HTTP؟
POST هي واحدة من طرق طلب HTTP وتستخدم لإرسال بيانات إلى URI محدد لإنشاء مورد جديد.
ميزات طريقة POST
- تشير URI إلى موقع المورد الذي سيتعامل مع الطلب
- تحتوي جسم الطلب على بيانات لإنشاء المورد الجديد
- لا تمتلك خاصية عدم التأثير المتكرر - تكرار نفس الطلب قد ينتج نتائج مختلفة
- غالبًا ما تستخدم لإنشاء موارد جديدة
- قد يكون جسم الطلب فارغًا ولكنه لا يزال صالحًا
بعبارة أخرى، تطبق طريقة POST محتوى الجسم المرسل في الطلب على المورد المحدد بواسطة URI. غالبًا ما تستخدم واجهات برمجة التطبيقات RESTful طريقة POST لإنشاء موارد جديدة.
على عكس PUT، فإن POST ليست غير متكررة، مما يعني أن الطلبات المكررة يمكن أن تنتج نتائج مختلفة. تشير URI إلى التطبيق المعالج بدلاً من المورد نفسه. يمكن أن تدعم POST أجسام طلب فارغة وإنشاء أكثر من نوع مورد واحد.
لذا، في الملخص، ترسل POST البيانات إلى نقطة نهاية التطبيق لإنشاء نسخ جديدة من الموارد، دون ضمانات للنتائج المتطابقة للمكالمات المتكررة.
مثال على PUT و POST في HTTP
هناك بعض الاختلافات الدقيقة بين PUT و POST. إليك شرح يقارن بين الطريقتين:
فيما يلي أمثلة على استخدام PUT و POST لإرسال الطلبات:
// مثال PUT
PUT /users/1
{
"id": 1,
"name": "Ichiro",
"age": 22
}
هذا يرسل طلبًا لاستبدال سجل المستخدم 1.
// مثال POST
POST /users
{
"name": "Saburo",
"age": 18
}
هذا يرسل طلبًا لإنشاء مستخدم جديد.
كما هو موضح أعلاه، يتم استخدام PUT عمومًا لاستبدال الموارد الحالية بالكامل، بينما يتم استخدام POST لإنشاء موارد جديدة. يحتوي جسم طلب PUT على جميع البيانات المحدثة. يحتوي جسم طلب POST فقط على بيانات المورد الجديد.
ما هو الفرق بين PUT و POST في HTTP؟
يكمن الاختلاف الرئيسي بين PUT و POST في HTTP في وظائفهما: يقتصر PUT على عمليات الإنشاء أو التحديث ويتصرف حصريًا على المورد المحدد بواسطة عنوان URL المقدم، بينما يكون POST أكثر تنوعًا وقادرًا على تنفيذ أنواع مختلفة من مهام المعالجة. الاختلافات التفصيلية كالتالي:
- جسم الطلب: يحتوي جسم PUT على جميع البيانات المحدثة للمورد. يحتوي جسم POST فقط على بيانات المورد الجديد.
- معنى URI: تستخدم PUT URI لتحديد المورد المراد تحديثه مباشرة (على سبيل المثال، المستخدم 1). تستخدم POST URI لتحديد المجموعة التي سيتم إنشاء مورد جديد فيها.
- عدم التأثير المتكرر: PUT غير متكررة - نفس الطلب يعطي نفس النتيجة. POST يمكن أن ينتج نتائج مختلفة في كل مرة.
- الموارد الحالية: PUT تستبدل المورد بالكامل بجسم الطلب. POST تقوم بتحديث المورد جزئيًا.
- الموارد الجديدة: يمكن لكل من PUT و POST إنشاء موارد جديدة.
- جسم الطلب: تتطلب PUT وجود جسم، بينما جسم POST هو اختياري.
تتمثل النظر إلى الأمثلة لكل ميزة متميزة في تسليط الضوء على الفروق بين الطريقتين.
Apidog: يدعم جميع طرق HTTP
كما هو موضح أعلاه، تمتلك PUT و POST استخدامات متميزة لتعديل الموارد. عند الاختيار بينهما للطلبات، يمكن أن تساعد Apidog. يدعم Apidog جميع طرق HTTP بالكامل، مما يسهل إرسال الطلبات وتصميم واجهات برمجة التطبيقات.
لتطوير واجهات برمجة التطبيقات، يتيح Apidog ليس فقط تصميم واجهات برمجة التطبيقات ولكن أيضًا ميزات مثل توليد المواصفات، اختبار، ومحاكاة.
انقر فوق الرابط أعلاه لتجربة النسخة عبر الإنترنت من Apidog واستفد من طرق HTTP المختلفة عند إرسال الطلبات وبناء واجهات برمجة التطبيقات.
يدعم Apidog PUT و POST وجميع طرق HTTP الرئيسية. كبرتوكولات قائمة على HTTP، تحتاج واجهات برمجة التطبيقات على الويب إلى اختيار الطرق بناءً على الغرض:
- GET (استرجاع المحتوى)
- POST (إنشاء محتوى جديد)
- PUT (تحديث المحتوى الحالي)
- DELETE (حذف المحتوى)

الميزات الأساسية هي:
- إبراز دعم Apidog لجميع الطرق بعد شرح اختلافات PUT/POST.
- شرح أن Apidog يمكنه إرسال الطلبات وتصميم واجهات برمجة التطبيقات.
- تلخيص قدرات Apidog الإضافية لتطوير API.
- تبسيط الدعوة للعمل.
