مقالات وتدوينات
(0)

ما الفرق بين الـ Cache Memory و الـ Cache Busting

731 قراءة
0 تعليق
alt
التصنيف مقالات وتدوينات
وقت النشر
2020/09/09
الردود
0

تحتوي المتصفّحات على ذاكرة تخزين مؤقّتة تسمى بالذاكرة المخبّأة (Cache Memory)وتحتفظ هذه الذاكرة بنُسخ من ملفّات المواقع بعد طلبها من الخادم (Server) الخاص بالموقع في أوّل مرة تقوم فيها بزيارة الموقع، وتقدّم هذه النسخ فائدتين: 

- تسريع التصفّح

- وتقليل الضغط على الخادم

حيث أنّ المتصفّحات تأخذ الملفات من الذاكرة دون الحاجة إلى الإتصال بالخادم في المرّات الأخرى التي تقوم فيها بزيارة الموقع.


ورغم أنّ الـ Cache Memory ساعدت في تسريع التصفّح بطريقة سهلة وغير مكلفة، إلا أنّها سبّبت مشكلة عند تحديث ملفّات المواقع المحفوظة في الـ Cache Memory؛ لأن المتصفّح يأخذ الملفات الموجودة في الذاكرة دون الرجوع إلى الخادم، والذاكرة تحتوي على الملفّات القديمة أمّا الجديدة فيجب الاتصال بالخادم للوصول إليها، وتظهر هذه المشكلة عند محاولتك لفتح موقع ما ثم تظهر لك صفحة بيضاء أو تظهر لك بمظهر مختلف عن أصدقائك (المظهر القديم).

ويمكن حل هذه المشكلة عن طريق مسح الملفات من الذاكرة؛ فبعد مسحك للملفات لن يجدها المتصفّح داخل الذاكرة مما يضطرّه إلى الاتصال بالخادم، ويمكنك مسحها بالطريقة الموضّحة في الصورة التالية:


أو قد تقوم الذاكرة بمسح الملفّات تلقائيًّا عند انتهاء فترة الحفظ لأنها كما قلنا سابقًا (ذاكرة مؤقّتة) ولكن ذلك نادر الحدوث لأن مدة الحفظ قد تصل إلى عامٍ كامل.


لكن المبرمجون لم يتوّقّفوا عند ذلك وفكّروا بطريقة يمكن للمتصفّح من خلالها معرفة إذا ما طرأ أيُّ تغيير على الملفّات لتحديثها تلقائيًّا دون تدخل المستخدم؛ لضمان عرض أحدث نسخة من الموقع، ومن هنا ظهر الـ Cache-Busting، وهو مفهوم يدل على الاستراتيجيّات المستخدمة لتغيير اسم الملف حتى يلاحظ المتصفّح هذا التغيير -كإرسال بلاغ للمتصفّح بوجود ملف جديد-، ولا يحدّد الـ Cache-Busting استراتيجيّة معيّنة.


من هذه الاستراتيجيّات:

- استخدام الـ Query String: ونسمّيها بمتغيّرات الاستعلام، وتمكّن هذه المتغيّرات من إرسال معلومات عبر روابط الصفحات (URL)، مثلًا: عند دخولك أحد مواقع التسوّق الإلكتروني سوف تختار من قائمة الأقسام القسم الذي تريده وبذلك ينقلك لصفحة خاصة بعرض منتجات هذا القسم، كيف ذلك؟

عند اختيارك للقسم قام الموقع بنقل اسم القسم الذي اخترته عبر الرابط (URL)، ولأن المتصفّحات لا تفرّق بين اسم الملف وأسماء متغيّرات الاستعلام فهي تظن أن الملف جديد وغير محفوظ؛ مما يجعلها تطلب الوصول للخادم لسحب الملف.


- تغيير اسم ملف الـ CSS: فبعض المتصفّحات لا تعير اهتمامًا لمتغيرات الاستعلام؛ مما لا يُنجح الطريقة الأولى، ولذا يوجد حلُّ آخر وهو تغيير اسم الملف بشكلٍ كامل، أو يمكنك تسمية الملف برقم الإصدار؛ حيث يكون التغيير في الرقم فقط مثل: FileName يصبح FileName.v1، وهذا التغيير يمكنك أن تفعله برمجيًّا بجعل اسم الملف داخل الأكواد متغيّرًا، وليس بتغيير اسم الملف الفعلي، لأنه من المتعب أن تفعل ذلك كلَّ مرّة.


وهناك الكثير من الاستراتيجيّات، ويختلف المبرمجون في نظرتهم لكل استراتيجيّة... أيّ أنه ليس هناك خطأ وصواب في هذا الأمر.

التعليقات (0)

قم بتسجيل الدخول لتتمكن من إضافة رد