واجهة برمجة التطبيقات:الحفظ المؤقت للبيانات
هذه الصفحة جزء من توثيق واجهة برمجة تطبيقات ميدياويكي التي تحمل اسم Action. |
التحكم في حفظ البيانات المؤقت من ناحية العميل
يسمح بروتوكول HTTP بالتحكم في الكيفية التي تحفظ بها متصفحات الإنترنت وبروكسيهات الوب المحتوى، وذلك عن طريق عدة قيم محددة في ترويسة Cache-Control
.
(هذا الأمر يعمل فقط مع طلبات GET.)
تسمح واجهة برمجة التطبيقات للعميل ضبط قيمتين اثنين من بين هذه القيم، وهي max-age
و s-maxage
، عن طريق متغيرات واجهة برمجة التطبيقات maxage
و smaxage
.
يتولى متغير maxage
إبلاغ متصفح الإنترنت بمدة حفظ الرد (بالثواني).
يفعل متغير smaxage
نفس الأمر فيما يخص البروكسيهات المشتركة. أما من الناحية الفعلية فالمتغير الأخير يستخدم عادة في توجيه البروكسي المعكوس من ناحية الخادوم (كما هو الحال في Varnish الذي تستخدمه ويكيميديا).
لا تحفظ الأخطاء أبدًا. سوف توسم الردود التي يحددها المستخدم بوسم Cache-Control: private
حتى يحفظها المتصفح حفظًا مؤقتًا بينما أن البروكسيهات العامة لا تحفظها.
تستعين واجهة برمجة التطبيقات في الوقت الراهن بإعدادات اللغة للمستخدم مسجل الدخول افتراضيًا، لذا سوف تكون ردود المستخدمين مسجلو الدخول خصوصية دائمًا.
يمكن تلافي هذا الأمر عن طريق إضافة متغير واجهة برمجة التطبيقات uselang=content
(T97096).
تحسين معدل زيارات الحفظ المؤقت
يرد على أي طلب قادم من الحفظ المؤقت للمحتوى لو كان معرف الموارد الموحد كاملًا محفوظ حفظًا مؤقتًا.
(مثال: لو طلبت ذات الطلب وكانت قيمة maxage=1800
وبعد ذلك كانت القيمة maxage=3600
، لن يتمكن الطلب الثاني من استخدام محفوظات الحفظ المؤقت الأول بسبب أن اختلاف قيمة المتغير maxage
تجعل من معرف الموارد الموحد مختلفًا.)
لو أرسلت قائمة بالصفحات في صفة متغير، يجوز أن تحسن من مستوى معدل زيارات الحفظ المؤقت عن طريق تصنيف هذه الصفحات وإلغاء تكرارها.
التحكم في حفظ البيانات المؤقت من ناحية وحدة واجهة برمجة التطبيقات البرمجية
يحدد الحفظ المؤقت عن طريق سبل ApiMain::setCache*
.
عادة ما يكون الحفظ المؤقت من بواعث القلق فقط في وحدات query البرمجية الفرعية، التي يجب أن تستخدم سبيل getCacheMode
بدلا من المذكور، التي تتلقاها من ApiQueryBase
.