RFC 10008: طريقة HTTP QUERY الجديدة
يواجه المطورون مشكلة عند جلب البيانات المعقدة. قد ترغب في استخدام GET، ولكن له حدود. وقد ترغب في استخدام POST، ولكنه الأداة غير المناسبة لهذه المهمة. يقترح RFC 10008 حلاً جديداً: طريقة QUERY.
الصعوبات الحالية مع GET:
- حدود URL: تضع المتصفحات والخوادم قيوداً على طول عنوان URL. الفلاتر الكبيرة قد تؤدي إلى تعطل طلباتك.
- هيكلية غير منظمة: يستخدم GET أزواجاً بسيطة من المفتاح والقيمة. إرسال كائنات JSON متداخلة أمر صعب.
- مخاطر الخصوصية: تظهر معاملات الاستعلام (Query parameters) في سجلات الخادم وسجل المتصفح.
الصعوبات الحالية مع POST:
- دلالات خاطئة: تُخبر POST الخادم بأنك تريد إنشاء بيانات أو تغييرها.
- مشكلات التخزين المؤقت: معظم الأنظمة لا تقوم بتخزين طلبات POST مؤقتاً، مما يؤدي إلى إبطاء تطبيقك.
تغير طريقة QUERY هذا الوضع؛ فهي تتيح لك إرسال جسم طلب (request body) لاسترداد البيانات، مما يحافظ على نظافة الـ API الخاصة بك ويتبع القواعد الصحيحة.
فوائد طريقة QUERY:
- استخدام أجسام معقدة: يمكنك إرسال كائنات JSON كاملة لفلاتر البحث.
- الحفاظ على الأمان: لا تقوم بتغيير حالة الخادم.
- تحسين السرعة: تتيح التخزين المؤقت الفعال مثل طريقة GET.
توقف عن إجبار POST على القيام بمهمة GET. توفر طريقة QUERY وسيلة لجلب بيانات غنية دون انتهاك معايير HTTP.
المصدر: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo