الذاكرة المخبأة/الكاش للموقع الإلكترني Website Cache هي أحد أهم عوامل زيادة سرعة الموقع ومن الإعتبارات التي تعتمد عليها محركات البحث عند ترتيب الموقع في نتائج البحث.
ماهي الذاكرة المخبأة/الكاش للموقع الالكتروني؟الذاكرة المخبأة هي مكان للتخزين المؤقت للمحتويات الثابتة Static Contents/representations التي يتم طلبها بشكل متكرر من السيرفر Origin Server.
جميعنا يعلم ماهو الموقع الإلكتروني Website وكيف تتم عملية تبادل المعلومات بين المتصفح والخادم Web Server، فإذا تخيلنا أن موقع ما يتصفحه آلاف المستخدمين يوميا، وفي كل مرة يقوم شخص بفتح صفحة ما يتم التواصل مع السيرفر web Server لجلب معلومات الصفحة، فلك أن تتخيل أن هذا الكم من الطلبات على السيرفر يوميا وبنسبة كبيرة يمكن أن تكون في آن واحد لنفس الصفحة، ومما لاشك فيه ان ذلك يسبب حمل على السيرفر ويقلل وقت استجابته وبالتالي المستخدم نفسه يشعر بالملل من طول انتظاره عند تصفح الموقع، وبالتالي انطباع سيء عن الموقع.
هنا يأتي دور الذاكرة المخبأة والتي تقوم بتخزين المحتويات الثابتة لحين طلبها في المرات المقبلة دون الحاجة للاتصال بالسيرفر في كل مرة.
ماهي المحتويات الثابتة للموقع الإلكتروني؟ الصور وملفات الميديا ملفات الاستايل والجافاسكريبتبشكل عام هي الملفات التي لايتم تغييرها بشكل دوري، لكن هناك محتويات يجب توخي الحذر عند تجهيزها للكاش:
صفحات إتش تي إم إل ملفات الاستايل والجافاسكريبت التي يتم تعديلها بشكل دوري المحتوى الذي يتم طلبه بناءا على الكعكات Cookiesمالايجب وضعه بالذاكرة المخبأة
الأصول الخاصة بالمعلومات السرية (مثل: الحسابات البنكية) المحتويات المرتبطة بمستخدم بعينه فكرة عمل الكاش للموقع الالكترونيعندما يقوم مستخدم بتصفح محتوى معين، تقوم الذاكرة المخبأة بتخزين نسخة احتياطية منه لفترة زمنية تقوم بتحديدها أنت بناءً على قواعد الذاكرة المخبأة Cache Rules ، فإذا قام نفس المستخدم أو غيره بطلب نفس المحتوى، يتم عرض النسخة التي بالذاكرة المخبأة دون طلبها مرة أخرى من السيرفر.
ويمكننا تلخيص عمليات الذاكرة المخبئة كالتالي:
يقوم المستخدم بتصفح المحتوي يقوم المتصفح بإرسال طلب بجلب محتوى الذاكرة المخبأة من السيرفر اذا كانت الذاكرة المخبأة تحتوي على المحتوى المطلوب يتم الرد بالمحتوى، أما إن كان غير ذلك، يتم طلب المحتوى من السيرفر ثم إرساله للمتصفح إن كان المحتوى قابل للتخزين المؤقت، فيتم تخزينه لحين طلبه مرة أخرى. فوائد الكاش للموقع الإلكتروني زيادة سرعة الموقع تقليل الضغط على الخادم يمكن أن يكون المحتوى متاح لفترة صغيرة حتى وإن كان الإتصال منقطع أنواع الذاكرة المخبأةيمكن تخزين المحتوى المؤقت في اماكن مختلفة خلال عملية طلب ورد المحتوى من السيرفر:
ذاكرة المتصفح (Browser Cache): يقوم المتصفح بتخزين المحتويات الأكثر أهمية وطلباً، فجميع المتصفحات الحديثة تقوم بتخصيص مساحة من القرص الصلب الخاص بحاسوب المُستَخدِم لتخزين المحتويات الثابته، ويمكنك التحكم فيها من خلال إعدادت المتصفح (السجل/History). فلربما تلاحظ أنه إذا تركت صفحة ما ثم رجعت لها عن طريق الضغط عل ذر الرجوع، تقوم بالتحميل بسرعة جداً وذلك لأنه تم تحميل النسخة المؤقته. وكالة تخزين مؤقت وسيطة (Proxy Server or Proxy Cache) : وهي سيرفر وسيط بين العميل والسيرف الخادم للمحتوى، حيث يمكن تخزين المحتوى الذي ترغب في تخزينه مؤقتاً، ثم يقوم ال Proxy Server بالرد عن الخادم الأصلي وإرسال المحتوى، ويمكن أن نطلق عليها Intermediary Servers. وهذه النوعية لها مدى أوسع في حجم البيانات، ويمكن تخزينها مهما كانت وأياً كان عدد المُسجلين بها. وهذه النوعية تخدم عملاء متعدده (أكثر من موقع) في نفس الوقت. الذاكرة المخبأة العكسية (Reverse Cache): أو ما تسمى أيضاً بـ Gateway Caches أو Surrogate Caches حيث يتم تخزين بعض المحتوى على السيرفر نفسه الخادم للموقع ويتم إدارته من قبل مدير الموقع لعمل خياراته المخصصة بما تخدم موقعه بشكل أفضل، ومن امثلتها الـ Content Delivery Network أو التي نطلق عليها اختصاراً CDN، والتي توفرها بعض المواقع مثل MaxCDN,Akamai,Cloudflare.
بشكل تلقائي يتم عمل كلاً من ذاكرة المتصفح والذاكرة المخبأة العكسية بوضعها الإفتراضي إن لم تقم بوضع القواعد Cache Rules التي تتناسب مع الموقع، وربما يتعارض هذا الوضع الإفتراضي مع سرعة الموقع، لذلك يجب الإنتباه دائماً لعمل الكاش بشكل سليم.
مصطلحات الذاكرة المخبأة Origin server : خادم الأصل (السيرفر الأصلي) هو الموقع الأصلي للمحتوى. أي أن هذا هو الجهاز الذي تتحكم فيه. وهو مسؤول عن خدمة أي محتوى لا يمكن استرجاعه من ذاكرة التخزين المؤقت أثناء عملية الطلبات والردود بين المتصفح والخادم، وأيضاً لتعيين سياسات التخزين (قواعد التخزين) المؤقت لجميع المحتويات. Cache hit ratio : يتم قياس فاعلية وكفاءة ذاكرة التخزين المؤقت عن طريق حساب مايسمى بالنسبة المئوية لذاكرة التخزين المؤقت. وهي نسبة الطلبات التي يمكن استرجاعها من ذاكرة التخزين المؤقت إلى إجمالي الطلبات المقدمة. وكلما كانت هذه النسبة عالية تعني أن نسبة عالية من المحتوى تم استرجاعها من ذاكرة التخزين المؤقت. وعادة ما تكون هذه النتيجة المرجوة لمعظم المشرفين. Freshness : النضارة مصطلح يستخدم لوصف ما إذا كان عنصر ما في ذاكرة التخزين المؤقت لا يزال يعتبر مرشحا لخدمة عميل. أي أن المحتوى ضمن الإطار الزمني المحدد بواسطة قواعد التخزين المؤقت. Stale content : أي المحتوى الذي لا معنى له، والذي تنتهي صلاحيته بانتهاء الإطار الزمني المحدد بواسطة قواعد التخزين المؤقت. حيث أنه على المتصفح الإتصال بالسيرفر لجلب المحتوى الجديد بفرة زمنية جديدة. Validation : وهي عملية التحقق من المحتوى منتهي الصلاحية فيما ان كان مازال متطابق مع أحدث نسخة من المحتوى، بحيث يمكن عمل تمديد لفترة صلاحيته. Invalidation : وهي عكس العملية السابقة، بحيث يتم حذف المحتوى من الذاكرة قبل انتهاء صلاحيته وهذه العملية مهمة جداً بالنسبة للمحتوى الذي يتم تعديله دورياً.فمثلاً قد تكون فترة انتهاء ملف css هي شهر، فتم تخزين النسخة المؤقته على جهاز المستخدم، ثم قمت أنت بعمل تعديل على الملف الموجود بالسيرفر، هنا لن يتم تغيير النسخة المؤقته لدى المستخدم إلا بعد مرور شهر من أخذ النسخة، أو أن تجبر أنت المتصفح بجلب آخر تحديث للملف عن طريق Cache Busting.
بالطبع هناك مصطلحات أخرى، خاصة بالذاكرة المخبأة للموقع الإلكتروني لكن أتوقع أن هذه تكفي كمعلومات تعريفية كبداية.