0 تصويتات
منذ في تصنيف البرمجة بواسطة admin6 (378ألف نقاط)
ما الفرق بين PUT و PATCH؟

1 إجابة واحدة

0 تصويتات
منذ بواسطة admin6 (378ألف نقاط)

الفرق بين PUT و PATCH في HTTP

الفرق الرئيسي بين PUT و PATCH يكمن في طبيعة التحديث الذي يقوم به كل منهما على مورد موجود في الخادم. PUT يُستخدم لاستبدال المورد بالكامل، بينما PATCH يُستخدم لتحديث جزء معين فقط من المورد.

ما هو PUT؟

عند إرسال طلب PUT، فإنك تطلب من الخادم استبدال تمثيل المورد الموجود بالتمثيل الجديد المرسل مع الطلب. بمعنى آخر، يتم إرسال نسخة كاملة من البيانات الجديدة للمورد، ويقوم الخادم باستبدال المورد القديم بهذه النسخة. إذا لم يكن المورد موجودًا، قد ينشئ PUT المورد جديدًا في بعض الحالات.

مثال بسيط: إذا كان لديك ملف JSON يمثل مستخدمًا، وإرسلت طلب PUT مع كامل تفاصيل المستخدم، فإن كل الحقول في المورد سيتم استبدالها بتلك التي أرسلتها. أي أن أي حقل لم يتم تضمينه في طلب PUT سيُعتبر غير موجود وسيتم حذفه من المورد.

ما هو PATCH؟

على الجانب الآخر، يسمح PATCH بإجراء تحديث جزئي على المورد. عند إرسال طلب PATCH، يتم إرسال مجموعة من التعديلات التي يجب تطبيقها على المورد الحالي دون الحاجة إلى إرسال تمثيل كامل. هذا يجعل PATCH أكثر كفاءة عند تعديل جزء صغير فقط من البيانات، لأنه لا يلزم استبدال المورد بالكامل.

على سبيل المثال، إذا كنت تريد تحديث بريد إلكتروني واحد فقط في ملف مستخدم، يمكنك إرسال طلب PATCH يحتوي فقط على الحقل الذي تريد تغييره، وسيقوم الخادم بتحديث هذا الحقل دون التأثير على بقية البيانات.

متى تستخدم PUT ومتى تستخدم PATCH؟

عند الحاجة إلى استبدال مورد بشكل كامل، مثل تحديث سجل مستخدم بكامل بياناته الجديدة، يكون PUT هو الخيار المناسب. أما إذا كنت تريد تعديل جزئي مثل تغيير كلمة مرور فقط أو تحديث عنوان البريد الإلكتروني، فإن PATCH هو الحل المثالي لأنه يتطلب إرسال بيانات أقل ويقلل احتمالية فقدان البيانات غير المقصودة.

من الناحية الفنية، يجب استخدام PUT مع الموارد التي يمكن استبدالها بالكامل، بينما PATCH مخصص للتغييرات الجزئية التي تعزز الأداء وتقلل من الحمل على الشبكة والخادم.

الملخص في الاستخدام البرمجي

في تطوير واجهات برمجة التطبيقات (APIs)، من الشائع استخدام PUT لتحديث كامل الكيان، وPATCH لتحديث جزئي. لذلك عند تصميم API، يجب توضيح استخدام كل من PUT و PATCH لتفادي الالتباس والحفاظ على سلامة البيانات.

...