إعادة محاولات مصادقة الوسيط ونصوص الرفع غير القابلة للتكرار
افهم لماذا قد تكشف إعادة محاولات المصادقة عن تدفق رفع لمرة واحدة، واختر التخزين المؤقت المحدود أو محتوى قابلاً للتكرار عن قصد.
قد ينجح طلب GET في المصادقة عبر وسيط بينما يفشل POST أو PUT بخطأ جسم غير قابل للتكرار أو خطأ إعادة لف. قد يكون الحساب صحيحًا: فقد تتطلب عملية المصادقة طلبًا آخر بعد أن يكون العميل قد استهلك بيانات الرفع.
| مصدر الجسم | خيار إعادة التشغيل |
|---|---|
| جسم صغير محدود | يمكن لمخزن مؤقت محدود أن يحتفظ ببايته. |
| ملف قابل للبحث | يمكن لواجهة إعادة اللف التي يدعمها العميل أن تجعله قابلاً للتكرار. |
| مولّد أو أنبوب أو منتج حي | قد يحتاج المصدر ذو الاستخدام الواحد إلى تصميم آخر. |
توثّق libcurl دوال استدعاء البحث لاستخدامات منها المصادقة متعددة المراحل. يقدّم Jersey أوضاع معالجة كيانات مخزّنة مؤقتًا ومقسمة إلى أجزاء، رهناً بسلوك الموصل. يوضّح مثال موصل Jersey 2 Apache الإعداد المخزّن مؤقتًا. لا يجعل أي منهما عمليات الرفع غير المحدودة في الذاكرة مناسبة.
أعد إنتاج الطريقة ومصدر الجسم اللذين يفشلان. لا يملك طلب GET التحضيري أي رفع لإعادة تشغيله، ولا يثبت أن عملية رفع لاحقة تشاركه اتصاله أو حالة مصادقته. قد يغيّر ذلك وجهة جديدة أو كائن عميل أو سياسة اتصال. كما يختلف الجسم المدعوم بملف والتدفق الحي حتى عندما يكون نصهما النموذجي واحدًا.
إذا استخدمت التخزين المؤقت، فحدّد سعة حجمه ومكان تخزينه ومدة بقائه. تضاعف عمليات الرفع المتزامنة التكلفة، وتبقى البيانات الحساسة حيثما يُحفظ المخزن المؤقت.
المصادقة المسبقة لوسيط متوافق معروف يمكن أن تتجنب تحديًا أوليًا واحدًا. ولا يمكنها استبعاد كل جولة مصادقة لاحقة أو إعادة توجيه أو اتصال مغلق قد يطلب محاولة أخرى.
أبقِ رد الوسيط ونقطة استهلاك الجسم وخطأ إعادة التشغيل معًا. ثم ميّز بين إعادة تشغيل البروتوكول ونتيجة تطبيق غير مؤكدة: فقد يكون الطلب قد عولج قبل فقدان استجابته. اتبع قواعد الاتساق لدى الوجهة قبل إرساله مرة أخرى.