Pull وPush: طريقتان لتغذية الـ edge
مع نموذج Pull، يجلب cdn.com.tr كل كائن من الـ origin الحالي في المرة الأولى التي يُطلب فيها، ثم يخزّنه مؤقتاً على الـ edge طوال مدة الـ TTL التي تحدّدها؛ ولا تغيّر شيئاً في الـ origin سوى الـ DNS. أما مع نموذج Push فترفع الأصول إلى تخزين cdn.com.tr ويقدّمها الـ edge مباشرةً من هناك، وهو مثالي عندما لا ترغب في إبقاء خادم origin متصلاً على الإطلاق. يبدأ معظم العملاء بنموذج Pull لأنه لا يتطلب أي نقل، ثم ينقلون الوسائط الثقيلة لاحقاً إلى Push أو Object Storage. يتشارك النموذجان في نفس قواعد الـ cache وأدوات الإفراغ والتقارير.
قواعد cache وTTL ومفاتيح cache تتحكم بها
العمل الحقيقي لأي CDN هو تحديد ما هو آمن للتخزين المؤقت ولأي مدة، وهذا بالضبط ما تُتيحه اللوحة. تضبط قيم TTL حسب المسار أو امتداد الملف، وتختار احترام ترويسة Cache-Control من الـ origin أو تجاوزها، وتتحكم في أي معاملات query strings وملفات cookies تدخل ضمن مفتاح الـ cache، بحيث تُخزَّن /list?page=2 و /list?page=3 بشكل منفصل بينما لا تُجزّئ معاملات التتبّع الـ cache. ضبط مفتاح الـ cache بدقة هو ما يحوّل نسبة إصابات منخفضة إلى مرتفعة، والتقارير تجعله مرئياً كي تضبطه بدلاً من التخمين.
تخفيف الحمل عن الـ origin وحمايته
كل طلب يُجاب عليه من الـ edge هو طلب لا يراه الـ origin أبداً، لذا فإن صفحة محتوى مزدحمة كانت تُثقل خادمك بمئات الطلبات للصور والأصول تنكمش إلى حفنة من عمليات الجلب من الـ origin لكل نافذة TTL. ولأن الزوار يتوجّهون إلى الـ edge بدلاً من عنوان IP الخاص بالـ origin، يتوقف الـ origin أيضاً عن استقبال حركة المرور المباشرة، ما يقلّل من كلفة النطاق الترددي والتعرّض معاً. هذا التخفيف هو ما يُبقي الموقع صامداً حين تُرسل حملة أو طفرة إخبارية أو مشاركة على وسائل التواصل سيلاً مفاجئاً من الزوار دفعةً واحدة.
تحسين الصور تلقائياً باستخدام WebP
الصور عادةً هي الجزء الأثقل في الصفحة، وإرسال ملفات JPEG أو PNG بحجمها الكامل لكل زائر يُهدر النطاق الترددي ويُبطئ العرض. يستطيع cdn.com.tr تحويل الصور المؤهلة بشفافية إلى WebP على الـ edge وتقديم النسخة الأخف للمتصفحات التي تُعلن دعمها، بينما تحصل المتصفحات التي لا تدعمها على النسخة الأصلية دون مساس. لست بحاجة لإعادة تصدير مكتبة الوسائط أو تغيير شيفرة HTML؛ يحدث التحسين ضمن مسار التقديم، وتظهر الوفورات مباشرةً في وزن الصفحة ووقت التحميل.
التخزين المؤقت للمحتوى الديناميكي بأمان
التخزين المؤقت ليس للملفات الثابتة فحسب. كثير من الصفحات التي تبدو ديناميكية، مثل قوائم التصنيفات أو صفحات المنتجات أو نصوص المقالات، لا تتغيّر إلا كل بضع دقائق ويمكن تخزينها بشكل micro-cache بقيمة TTL قصيرة لامتصاص حركة المرور مع بقائها حديثة. يتيح لك cdn.com.tr تخزين هذه الاستجابات مؤقتاً بقواعد تستثني الجلسات المُسجَّلة الدخول والمسارات المخصّصة، فيُقدَّم للزوار المجهولين من الـ edge بينما تذهب سلة المستخدم أو صفحة حسابه دائماً إلى الـ origin. النتيجة سرعة بمستوى الـ CDN على صفحات تتركها معظم المنصات دون تخزين مؤقت.
قياس المكسب: نسبة الإصابات ووقت التحميل
لا يمكنك تحسين ما لا تستطيع رؤيته، لذا تعرض اللوحة نسبة إصابات الـ cache، والبايتات المقدَّمة من الـ edge مقابل الـ origin، وحالة الـ cache لكل استجابة. ينبغي أن يبلغ موقع ثابت المحتوى نسبة إصابات مرتفعة بمجرد إحماء الـ cache؛ وغالباً ما تشير النسبة المنخفضة إلى مفتاح cache يتضمّن ملف cookie أو query string متقلّباً، وهو ما يمكنك عندئذٍ إصلاحه في القواعد. مراقبة هذه الأرقام بعد كل تغيير تُغلق الحلقة بين الإعداد والسرعة الفعلية التي يشعر بها زوارك.
كيفية الإعداد، خطوة بخطوة
أضف نطاقك إلى حساب الـ CDN
افتح في اللوحة قسم النطاقات، وأضف اسم المضيف الخاص بك (مثل www.example.com)، ثم اختر ما إذا كان cdn.com.tr يعمل بوصفه origin بنمط Pull مقابل خادمك الحالي أم هدف Push ترفع إليه الملفات. بالنسبة لمعظم المواقع يكون Pull هو أسرع بداية: لا حاجة لأي نقل للملفات.
وجّه الـ DNS نحو الـ edge
حدّث سجل الـ CNAME (أو سجل الجذر إذا كنت تستضيف الـ DNS لدينا) بحيث تتوجّه حركة المرور إلى edge لدى cdn.com.tr بدلاً من عنوان IP الخاص بالـ origin. بمجرد انتشار التحليل، يدخل كل طلب عُقدة edge أولاً ويُجاب عليه من الـ cache عند الإمكان.
اضبط قواعد الـ cache
حدّد قيم TTL لكل مسار أو امتداد: قيم TTL طويلة (أيام) للأصول المُصدَّرة بإصدارات مثل /assets/*.css و /*.js والصور والخطوط؛ وقواعد قصيرة أو تجاوز للـ cache لـ /cart و /checkout أو أي شيء يحمل ملف تعريف ارتباط للجلسة. يمكنك احترام ترويسة Cache-Control القادمة من الـ origin أو تجاوزها من اللوحة.
فعّل تحسين الصور
فعّل التحويل التلقائي إلى WebP بحيث يُعاد ترميز صور JPEG وPNG وتُقدَّم بصيغة أخف للمتصفحات التي تقبلها، مع الاحتفاظ بالنسخة الأصلية كبديل احتياطي. عادةً ما يخفّض هذا حجم بايتات الصور بشكل كبير دون المساس بملفاتك الأصلية.
تحقّق من عمل الـ cache
حمّل صفحة وافحص ترويسات الاستجابة لمعرفة حالة الـ cache (HIT/MISS) وقيمة العُمر. ينبغي أن يُعيد طلبٌ ثانٍ لنفس الـ URL نتيجة HIT مُقدَّمة من الـ edge. استخدم تقارير اللوحة لمراقبة ارتفاع نسبة إصابات الـ cache مع إحماء الـ edge.
أفرِغ الـ cache عند تغيّر المحتوى
بعد أي نشر أو تعديل للمحتوى، أفرِغ (purge) الـ URLs المتأثرة (أو كل شيء) من اللوحة أو عبر purge API حتى يحصل الزوار فوراً على النسخة الجديدة بدلاً من انتظار انتهاء صلاحية الـ TTL.
سيناريوهات مثالية
يقدّم موقع إخباري أو مدوّنة صوره وملفات CSS وJavaScript من الـ edge بقيم TTL طويلة، فينخفض الحمل على الـ origin بشدة ويقصر وقت تحميل الصفحة للقرّاء حول العالم.
خلال عرض خاطف، تُخزَّن صفحات قوائم المنتجات بشكل micro-cache وتُخزَّن الأصول الثابتة بالكامل، فتُمتَص طفرة حركة المرور المفاجئة على الـ edge بدلاً من أن تُغرق الـ origin الخاص بالمتجر.
يوزّع مزوّد برامجَ التثبيت وحزم التحديث عبر تخزين Push على الـ edge، فيقدّم الملفات الكبيرة بسرعة للمستخدمين مع حماية الـ origin من طفرات النطاق الترددي.
الأسئلة الشائعة
كيف أعرف ما إذا كان الطلب قد قُدِّم من الـ cache؟
تحمل كل استجابة ترويسة لحالة الـ cache تُظهر HIT (مُقدَّمة من الـ edge) أو MISS (مجلوبة من الـ origin)، إضافةً إلى قيمة للعُمر. حمّل الـ URL مرتين: ينبغي أن يُعيد الطلب الثاني لمورد قابل للتخزين نتيجة HIT. كما تجمع تقارير اللوحة هذا في نسبة إصابات cache إجمالية.
هل سيقدّم التخزين المؤقت محتوى قديماً بعد تحديث موقعي؟
تعيش الكائنات المخزَّنة حتى انتهاء صلاحية الـ TTL فقط، لكنك لست مضطراً للانتظار. أفرِغ الـ URLs المتغيّرة أو المنطقة بأكملها من اللوحة أو عبر purge API مباشرةً بعد النشر، فيجلب الـ edge نسخاً حديثة عند الطلب التالي مع الاستمرار في تقديم كل شيء آخر من الـ cache.
هل يمكنني تخزين صفحات تستخدم cookies أو query strings؟
نعم، مع تحكّم. أنت تقرّر أي cookies ومعاملات query تدخل ضمن مفتاح الـ cache، فتُنشئ الأساسية منها نسخاً مخزَّنة منفصلة بينما تُتجاهل معاملات التتبّع. ويمكن ضبط طلبات الجلسة أو المُسجَّلة الدخول لتجاوز الـ cache كلياً بحيث يصل المحتوى المخصّص دائماً إلى الـ origin.
هل يغيّر التحويل إلى WebP ملفات صوري الأصلية؟
لا. يحدث التحويل ضمن مسار التقديم. نُسخك الأصلية المخزَّنة تبقى دون مساس؛ يولّد الـ edge نسخة WebP ويقدّمها للمتصفحات التي تدعمها، ويعود إلى الصيغة الأصلية لتلك التي لا تدعمها.
ماذا يحدث إذا تعطّل خادم الـ origin لدي؟
يستمر تقديم كل ما هو مخزَّن مسبقاً على الـ edge للزوار طوال نافذة الـ TTL، لذا فإن انقطاعاً قصيراً للـ origin لا يُخرج محتواك الثابت من الخدمة بالضرورة. أما الطلبات على كائنات غير مخزَّنة أو منتهية الصلاحية فستظل بحاجة إلى الـ origin، وهذا سبب إضافي لإبقاء قيم TTL سخيّة على الأصول المستقرّة.
هل يجب أن أنقل ملفاتي لاستخدام الـ CDN؟
ليس مع نموذج Pull. تُبقي خادم الـ origin الحالي وتغيّر الـ DNS فقط بحيث يجلس الـ edge أمامه، ويسحب المحتوى ويخزّنه عند الطلب. أما تخزين Push فاختياري ومفيد عندما تريد أن يقدّم الـ edge الوسائط دون أي origin على الإطلاق.