Web Technology

HTTP Caching
التخزين المؤقت HTTP

التخزين المؤقت HTTP 

التاريخ

31 أبريل 2024

الدروس

50

المستوى

متقدم

اللغة

انجليزي

المشاهدات

173

المواضيع

4
الشروحات chevron_left HTTP Caching chevron_left Web Technology

HTTP Caching
التخزين المؤقت HTTP

</> HTTP Caching
التخزين المؤقت HTTP

التخزين المؤقّت في HTTP هو طريقة لتحسين سرعة تحميل صفحات الويب، حيث يتم حفظ الملفات والصور المستخدمَة على جهاز المستخدم، وهذا يقلّل من وقت الانتظار ويقلّل من كمية البيانات المستهلكة من الإنترنت. يتم التحكّم في مدة وكيفية التخزين المؤقّت باستخدام إعدادات مثل "Cache-Control" و"Expires".

تلعب شبكات تسليم المحتوى [CDN] دورًا مهمًا أيضًا من خلال الاحتفاظ بنسخ من المحتوى في المواقع التي يستخدمها المستخدمين، لتسهيل الوصول السريع مما يوفر تجربة استخدام سلسة.

يعتبر التخزين المؤقت لـ HTTP Caching أحد الركائز الأساسية لتحسين أداء الويب وتجربة المستخدم، وله أهمية كبيرة من عدة جوانب منها ما يلي:

  • زيادة السرعة وتقليل التأخير: يقوم التخزين المؤقت بحفظ نُسخ من المحتوى الثابت [مثل الصور، وملفات CSS، وملفات JavaScript] والمحتوى القابل للتخزين مؤقتًا على خوادم التخزين المؤقت caches أو في المتصفحات. وهذا يقلل من زمن الاستجابة، حيث يمكن للمستخدمين تحميل هذه الموارد بسرعة من المخزن المؤقت بدلاً من إعادة تحميلها من الخادم الأصلي في كل مرة.

  • تخفيف العبء على الخوادم: من خلال تقديم المحتوى المخزن مؤقتًا، يقلل النظام من عدد الطلبات الموجهة إلى الخادم الأصلي. وهذا يقلل الضغط على الخادم ويحسن من تحميله للموارد، مما يساعد في معالجة المزيد من الطلبات في وقت أقل.

  • اقتصاد البيانات والنطاق الترددي: التخزين المؤقت يقلل من كمية البيانات التي يتم نقلها بين الخادم وعملاء الويب. وهذا مهم بشكل خاص للمستخدمين الذين لديهم حزم بيانات محدودة أو اتصال بطيء بالإنترنت.

  • تحسين تجربة المستخدم: المستخدمون يتوقعون أن تكون صفحات الويب سريعة التحميل. والتخزين المؤقت يحسن سرعة تحميل الصفحة ويقلل من التأخير، مما يؤدي إلى تجربة أفضل وزيادة رضا المستخدمين.

  • الفعالية من حيث التكلفة: تحسين الأداء من خلال التخزين المؤقت يمكن أن يوفر في تكاليف البنية التحتية، حيث يقلل من الحاجة إلى توسيع وتحسين القدرة على معالجة الطلبات بشكل مكلف.

  • توفير الطاقة: يقلل من استهلاك الطاقة لكل من الخوادم والأجهزة العميلة، مما يسهم في استدامة البيئات الرقمية والحد من الأثر الكربوني.

</> ?How does HTTP caching work
كيف يعمل التخزين المؤقت في HTTP؟

كيف يعمل التخزين المؤقت في HTTP:

الطلب والاستجابة الأولية:
  •  عندما يطلب العميل [مثل متصفح الويب] موردًا من الخادم للمرة الأولى، يقوم الخادم بالاستجابة بالبيانات المطلوبة مع بعض رؤوسHTTP.
  • قد تشمل هذه الرؤوس توجيهات التخزين المؤقت التي تُعلِم العميل أو الوسائط الوسيطة [مثل خوادم الوكيل] بكيفية ومدة تخزين الاستجابة.

رؤوس التحكم في التخزين المؤقت:

  •  يمكن للخادم أن يُضيف رأس"Cache-Control" مع توجيهات مثل "max-age`، التي تحدد المدة بالثواني التي يُعتبر فيها المورد حديثًا.
  • تشمل التوجيهات الأخرى "public"، "private"، "no-cache"، و"no-store"، حيث يؤثر كل منها على سلوك التخزين المؤقت بطرق مختلفة.

التخزين في الذاكرة المؤقتة:

  • بمجرد استلام الذاكرة المؤقتة [مثل متصفح الويب أو خادم الوكيل] الاستجابة، فإنها تخزن البيانات وفقًا للقواعد المحددة للتخزين المؤقت.

الطلبات اللاحقة:

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


التحقق من البيانات المخزنة:

  •  إذا كانت البيانات المخزنة قديمة أو تتطلب التحقق، قد يرسل التخزين المؤقت طلبًا شرطيًا باستخدام رؤوس مثل "If-Modified-Since" أو "If-None-Match".
  • يمكن للخادم حينئذٍ أن يستجيب بحالة "304 Not Modified" إذا لم تتغير البيانات، مما يسمح للذاكرة المؤقتة باستخدام نسختها المخزنة.

انتهاء الصلاحية وإعادة التحقق:

  • تنتهي صلاحية البيانات المخزنة بناءً على رؤوس التخزين المؤقت. بعد هذه الفترة، إما أن تقوم الذاكرة المؤقتة بجلب نسخة جديدة من الخادم أو إعادة التحقق من النسخة القديمة للتأكد من أنها لا تزال محدثة.

الشبكات الموزعة لخدمة المحتوى [CDNs] وتخزين الوكيل المؤقت:

  •  يمكن لشبكات التوزيع لخدمة المحتوى [CDNs] وذاكرات الوكيل المؤقتة تخزين الموارد أقرب إلى العميل، مما يقلل التأخير ويحسن وقت التحميل للمستخدمين المنتشرين عبر مناطق مختلفة.

</> HTTP Types of caches
أنواع التخزين المؤقت HTTP

تحدد مواصفات تخزين HTTP المؤقت نوعين رئيسيين من التخزين المؤقت:

  •  التخزين المؤقت الخاص Private caches:

  •  التخزين المؤقت المشترك Shared cache:

</> HTTP Private caches
التخزين المؤقت الخاص HTTP

 التخزين المؤقت الخاص يضمن أن البيانات مرئية فقط للمستخدم الذي طلبها، مما يعزز الأمان ويحمي البيانات الحساسة. يساعد هذا النوع من التخزين في تحسين أداء الشبكة وتقليل استخدام الموارد مثل التخزين، والقدرة الحاسوبية، ويدعم حماية المعلومات الشخصية.
Enhance privacy in caching

يسمح بتخزين المحتويات مؤقتًا في المتصفح دون مشاركتها، معززًا الخصوصية.

Cache-Control: private

</> HTTP Shared cache
التخزين المؤقت المشترك HTTP

التخزين المؤقت المشترك Shared Cache على الإنترنت يساعد في تحسين أداء الشبكة عن طريق تخزين محتوى الويب في مواقع متعددة، بحيث يمكن للمستخدم الوصول إلى البيانات بسرعة أكبر دون الحاجة للاتصال بالمصدر الرئيسي، يوفر ذلك فوائد مثل تسريع تحميل الصفحات وتقليل استهلاك عرض كمية البيانات، مما يحسن تجربة المستخدم ويخفف الضغط على الخوادم الأصلية.

يُستخدم التخزين المشترك عبر خوادم موزعة جغرافيًا لمعالجة الطلبات بسرعة من أقرب موقع تخزين، وللحفاظ على دقة المعلومات، يتم تحديث البيانات المخزنة وفقًا لسياسات محددة لضمان تقديم محتوى حديث للمستخدمين.

يمكن تصنيف ذاكرات التخزين المشتركة بشكلٍ أكبر إلى ذاكرات التخزين المؤقت للوكيل Proxy caches وذاكرات التخزين المدارة Managed Caches.

  • ذاكرة التخزين المؤقت للوكيل Proxy caches: تعمل كوسيط بين المستخدم والخادم، حيث تقوم بتخزين البيانات المؤقتة لتسريع عملية الوصول إلى هذه البيانات عند طلبها مجددًا. هذا النوع من الذاكرة يعتبر مفيدًا لتحسين سرعة الاستجابة وتقليل الحمل على الخوادم الأساسية.

  • ذاكرة التخزين المدارة Managed Caches: تقوم إدارة الشبكة أو الجهة المسؤولة عن النظام بالتحكم فيها مباشرةً. تُستخدم هذه الذاكرة للتخزين المؤقت للبيانات المهمة التي تحتاج إلى معالجة سريعة ودقيقة، مما يساعد في تحسين الأداء العام للنظام.
Make caching available to everyone

يسمح بتخزين المحتوى على نطاق واسع من قبل أي جهة لتسريع الوصول وتقليل الضغط على الخوادم.

Cache-Control: public
Force validation before use

يتطلب التحقق من الخادم الأصلي قبل استخدام النسخة المخزنة مؤقتًا لضمان أن المحتوى محدث دائمًا.

Cache-Control: no-cache
Prevent caching of sensitive data

يمنع تخزين أي جزء من البيانات مؤقتًا لضمان الأمان وحماية الخصوصية.

Cache-Control: no-store
Set the cache validity period to 2 hours

يضبط صلاحية التخزين المؤقت للمحتوى لمدة ساعتين دون الحاجة للتحقق من الخادم الأصلي.

Cache-Control: max-age=7200
Check the validity of stored content before use

يلزم التحقق من الخادم لتأكيد صلاحية المحتوى المخزن قبل استخدامه لضمان تحديثه.

Cache-Control: must-revalidate
Proxy servers check the validity of content

يلزم الخوادم الوسيطة التحقق من تحديث المحتوى مع الخادم الأصلي قبل استخدامه

Cache-Control: proxy-revalidate
Use the stored copy during the update for 1 minute

يسمح باستخدام المحتوى المخزن لمدة 60 ثانية أثناء تحديثه في الخلفية من الخادم الأصلي.

Cache-Control: stale-while-revalidate=60
Use stored content in case of error for 1 minute

يسمح باستخدام النسخة المخزنة لمدة دقيقة إذا فشل التحديث من الخادم الأصلي.

Cache-Control: stale-if-error=60
"Improving performance with static caching routing"

يشير إلى أن المحتوى ثابت ولا يحتاج إلى تحديث.

Cache-Control: immutable

</> HTTP Proxy caches
ذاكرة التخزين المؤقت للوكيل HTTP

تُعَدُّ مخابئ وكيل البروكسي HTTP Proxy caches أداةً هامةً لتحسين سرعة الوصول إلى الإنترنت، إذ تخزِّن نسخًا من المواقع لتمكين الوصول السريع لها دون الحاجة إلى الاتصال بالخادم الأساسي في كل مرة. تعتمد هذه الأداة على استقبال الطلبات من المستخدمين، والتحقق مما إذا كان المحتوى مطلوبًا مسبقًا ومخزنًا. إذا توفرت النسخة، تُرسل مباشرةً للمستخدم، مما يقلل الضغط على الخوادم ويوفر الوقت.

تساهم هذه المخابئ في تقليل استهلاك عرض النطاق الترددي، وتحسين فعالية الشبكات، وزيادة كفاءة قدرة الخادم على معالجة البيانات وتنفيذ العمليات الحسابية. كما تُساعد في تعزيز حماية البيانات عبر تصفية المحتوى غير المرغوب فيه، وتقديم مستويات إضافية من الأمن للمستخدمين على الشبكات العامة والخاصة.

توفر هذه المخابئ الحلول التي تمكن الشبكات من العمل بفعالية أعلى، وتساهم في تسهيل تجربة المستخدم عند تصفح المواقع عبر الإنترنت.
النطاق الترددي
 هو كمية البيانات التي يمكن نقلها عبر قناة اتصال معينة في وقت محدد، ويتم قياسه عادةً بوحدة البت في الثانية، مما يؤثر على سرعة الاتصال بالإنترنت.

</> HTTP Managed Caches
ذاكرة التخزين المدارة HTTP

يتم نشر التخزين المؤقت المُدار HTTP Managed Caches من قبل مطوري الخدمات بهدف تخفيف العبء عن الخادم الأصلي وتقديم المحتوى بكفاءة. تتضمن الأمثلة على ذلك خوادم البروكسي العكسية، وشبكات توصيل المحتوى [CDNs]، والعاملين في الخدمة بالاقتران مع واجهة برمجة التطبيقات الخاصة بالتخزين المؤقت [Cache API].

تختلف خصائص التخزين المؤقت المُدار اعتمادًا على الأداة المستخدمة، حيث يمكنك عادةً التحكم في سلوك التخزين المؤقت من خلال رأس التحكم في التخزين المؤقت وملفات التكوين الخاصة بك أو اللوحات التحكمية.

</> HTTP Benefits of Caching
فوائد التخزين المؤقت HTTP

  •  تحسين الأداء والسرعة : يُعتبر التخزين المؤقت وسيلة فعّالة لتحسين سرعة تحميل الصفحات؛ فعند استخدام البيانات المخزنة مؤقتًا، يمكن تقليل الوقت المستغرق في جلب البيانات من الخادم الرئيسي هذا يؤدي إلى تسريع عرض الصفحات للمستخدمين.

  • تقليل الحمل على الخوادم : عند استخدام التخزين المؤقت بكفاءة، يُمكن تقليل عدد الطلبات المقدمة إلى الخادم الرئيسي هذا يعني تقليل الحمل على الخوادم، مما يسمح بإدارة عدد أكبر من المستخدمين في نفس الوقت.

  •  توفير النطاق الترددي : مع تقليل عدد البيانات التي يجب جلبها من الخادم، يُمكن توفير استخدام النطاق الترددي، مما يقلل من التكاليف المرتبطة بالنقل وكذلك يوفر أداءً أكثر استدامة.

  •  تجربة مستخدم أفضل : بفضل سرعة التحميل وتحسين الأداء، يحصل المستخدمون على تجربة أفضل وأكثر سلاسة، خاصةً في التطبيقات والصفحات التي تعتمد على المحتوى الثقيل.

  • الاتحاد مع شبكات التوصيل : يعمل التخزين المؤقت بشكل جيد مع شبكات توزيع المحتوى (CDN)، مما يساعد في توزيع المحتوى عبر مواقع جغرافية متعددة وزيادة سرعة التقديم للمستخدمين النهائيين.

  •  تحسين توافر المحتوى : إذا كان الخادم الأساسي غير متاح مؤقتًا، يمكن للمتصفح الاستمرار في عرض المحتوى المخزن مؤقتًا، مما يحسن من توافرية الخدمة.

</> HTTP Caching Headers
روؤس التخزين المؤقت لـ HTTP



																			
									
																		
								
معلومات تهمك
  • لا تنس تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنس مشاركة الموقع مع أصدقائك حتى تعمّ الفائدة وتكون سببًا في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات