حاسبة عمر التخزين المؤقت لـ HTTP / max-age

بياناتمطور
إعلان · يزيل؟

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

سلوك التخزين المؤقت

مدة الصلاحية (TTL)

مدة احتفاظ المتصفح بالاستجابة في ذاكرة التخزين المؤقت
مدة احتفاظ ذاكرات التخزين المؤقت المشتركة/CDN بتخزين الاستجابة
تقديم نسخة قديمة أثناء جلب استجابة حديثة في الخلفية
تقديم نسخة قديمة في حالة إرجاع الأصل خطأً

رؤوس خاصة بـ CDN

إعلان · يزيل؟

مرشد

حاسبة مدة صلاحية ذاكرة التخزين المؤقت لـ HTTP / max-age

حاسبة عمر التخزين المؤقت لـ HTTP / max-age

قم ببناء رؤوس HTTP Cache-Control بشكل مرئي. حدد إعدادًا مسبقًا لاستراتيجية التخزين المؤقت أو قم بتكوين توجيهات فردية — max-age، s-maxage، stale-while-revalidate، immutable، والمزيد. احصل على سلسلة رأس جاهزة للاستخدام مع شروحات سهلة الفهم وما يعادلها خاص بـ CDN.

كيف تستعمل

اختر إعدادًا مسبقًا للاستراتيجية (الأصول الثابتة، صفحات HTML، استجابات API، ذاكرة التخزين المؤقت لحافة CDN) لملء التكوينات الشائعة تلقائيًا، أو استخدم وضع مخصص لبناء رأسك من الصفر. قم بتبديل التوجيهات، وحدد قيم الوقت لـ max-age و s-maxage، وسيتم إنشاء سلسلة رأس Cache-Control الكاملة على الفور. انسخها مباشرة في تكوين الخادم الخاص بك، أو .htaccess، أو كود التطبيق.

سمات

  • الإعدادات المسبقة للاستراتيجية – إعدادات معدة مسبقًا لسيناريوهات شائعة: الأصول الثابتة (سنة واحدة، غير قابلة للتغيير)، صفحات HTML (إعادة التحقق من الصحة في كل طلب)، استجابات API (خاص، لا يوجد ذاكرة تخزين مؤقت)، وذاكرة التخزين المؤقت لحافة CDN.
  • جميع توجيهات Cache-Control – قم بتكوين public، private، no-cache، no-store، max-age، s-maxage، stale-while-revalidate، stale-if-error، must-revalidate، proxy-revalidate، no-transform، و immutable.
  • اكتشاف التعارض – تحذير عند تحديد توجيهات متعارضة مثل no-store مع max-age، أو public مع private في نفس الوقت.
  • عرض الوقت بشكل سهل الفهم – تحويل الثواني تلقائيًا إلى تنسيق قابل للقراءة (86400 ثانية = 1 يوم) بجوار كل مدخل زمني.
  • شرح الرأس – يعرض شرحًا باللغة الإنجليزية البسيطة لما يقوم به رأسك المكون فعليًا.
  • رؤوس خاصة بـ CDN – ينشئ رؤوسًا مكافئة لـ Cloudflare (CDN-Cache-Control)، Varnish/Fastly (Surrogate-Control).
  • الإنشاء في الوقت الفعلي – يتم تحديث سلسلة الرأس فورًا عند تبديل أي توجيه أو تغيير أي قيمة.

متى تستخدم هذه الأداة

استخدم هذه الأداة عند تكوين التخزين المؤقت لتطبيقات الويب، أو إعداد سياسات ذاكرة التخزين المؤقت لـ CDN، أو تحسين تسليم الأصول الثابتة، أو استكشاف أخطاء سلوك التخزين المؤقت وإصلاحها. إنها ضرورية لمطوري الويب، ومهندسي DevOps، وأي شخص يعمل مع التخزين المؤقت لـ HTTP ويحتاج إلى بناء رؤوس Cache-Control صحيحة دون حفظ مواصفات RFC 7234.

إعلان · يزيل؟

التعليمات

  1. ما هو رأس Cache-Control؟

    Cache-Control هو رأس HTTP يخبر المتصفحات وشبكات توصيل المحتوى (CDN) بكيفية تخزين استجابة مؤقتًا. يتحكم فيما إذا كان يمكن تخزين الاستجابة مؤقتًا (عام مقابل خاص)، ومدة تخزينها مؤقتًا (max-age بالثواني)، وما إذا كان يجب إعادة التحقق منها قبل الاستخدام (no-cache، must-revalidate)، وما إذا كان يجب عدم تخزينها على الإطلاق (no-store). يعد الحصول على Cache-Control بشكل صحيح أحد أكثر تحسينات أداء الويب تأثيرًا المتاحة.

  2. ما الفرق بين max-age و s-maxage؟

    يحدد max-age مدة صلاحية ذاكرة التخزين المؤقت لجميع ذاكرات التخزين المؤقت — سواء ذاكرات تخزين المتصفح أو ذاكرات التخزين المشتركة (CDN/proxy). يقوم s-maxage (shared max-age) بتجاوز max-age خصيصًا لذاكرات التخزين المؤقت المشتركة مثل شبكات CDN وخوادم البروكسي، بينما لا يزال المتصفح يستخدم max-age. يتيح لك هذا تعيين مدة تخزين مؤقت مختلفة: على سبيل المثال، max-age=60 (يتم تخزين المتصفح مؤقتًا لمدة دقيقة واحدة) مع s-maxage=86400 (يتم تخزين CDN مؤقتًا لمدة يوم واحد). هذا نمط شائع للمحتوى الذي يتغير بشكل متقطع.

  3. ماذا تفعل stale-while-revalidate؟

    تسمح stale-while-revalidate لذاكرات التخزين المؤقت بتقديم استجابة قديمة (منتهية الصلاحية) أثناء جلب نسخة حديثة في الخلفية في نفس الوقت. على سبيل المثال، تعني stale-while-revalidate=86400 أن ذاكرة التخزين المؤقت يمكن أن تقدم استجابة منتهية الصلاحية لمدة تصل إلى يوم واحد أثناء إعادة التحقق منها بشكل غير متزامن. هذا يحسن بشكل كبير الأداء المتصور لأن المستخدمين لا ينتظرون أبدًا إعادة التحقق — فهم يحصلون على استجابة فورية (قديمة قليلاً) بينما تقوم ذاكرة التخزين المؤقت بتحديث نفسها للطلب التالي.

  4. ما الفرق بين no-cache و no-store؟

    لا تعني no-cache 'عدم التخزين المؤقت'. إنها تعني 'تخزين الاستجابة مؤقتًا، ولكن دائمًا قم بإعادة التحقق من الصحة مع الخادم قبل استخدامها'. يقوم المتصفح بتخزين الاستجابة ولكنه يتحقق من الخادم (عبر ETag أو Last-Modified) قبل تقديمه — إذا لم يتغير المحتوى، يستجيب الخادم بـ 304 Not Modified ويتم استخدام النسخة المخزنة مؤقتًا. تعني no-store 'عدم التخزين المؤقت على الإطلاق' — يجب عدم تخزين الاستجابة أبدًا بواسطة أي ذاكرة تخزين مؤقت. استخدم no-cache للمحتوى الذي قد يتغير ولكنه يستفيد من الطلبات المشروطة؛ استخدم no-store للبيانات الحساسة التي يجب عدم الاحتفاظ بها أبدًا.

هل تريد حذف الإعلانات؟ تخلص من الإعلانات اليوم

تثبيت ملحقاتنا

أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع

أضف لـ إضافة كروم أضف لـ امتداد الحافة أضف لـ إضافة فايرفوكس أضف لـ ملحق الأوبرا

وصلت لوحة النتائج!

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

إعلان · يزيل؟
إعلان · يزيل؟
إعلان · يزيل؟

ركن الأخبار مع أبرز التقنيات

شارك

ساعدنا على الاستمرار في تقديم أدوات مجانية قيمة

اشتري لي قهوة
إعلان · يزيل؟