نحتاج أحيانًا إلى التحكم في وقت انتهاء صلاحية صفحات الويب مثل الصفحات الرئيسية. ولكن على سبيل المثال، إذا استخدمنا CDN الخاص بـ Chinacache، فكيف يجب أن نصممه بحيث يمكنه تخزين المحتوى الخاص بي؟
بالطبع، الشرط الأساسي هو تشغيل وظيفة reload_into_ims في CDN، وبهذه الطريقة لن يخاف المستخدمون إرسال no-cache لأن هذا سيؤدي إلى تحويل no-cache إلى If-Modified-Since، لذلك نكتب البرامج بشكل أساسي للتحكم في If-Modified-Since. تذكر أنه في بنية نظام ذاكرة التخزين المؤقت، من الأفضل أن يتم التحكم فيها من خلال الواجهة الخلفية. لذا فإن الطريقة الوحيدة هي استخدام برنامج لإدارة انتهاء الصلاحية. أوه، أنا أعرف PHP فقط، لذا سأكتب واحدًا في PHP. الشيء نفسه ينطبق على البرامج الأخرى.
انظر برنامجي أدناه، هاها، تنتهي صلاحيته خلال 5 دقائق.
شفرة:
<?php
$headers = apache_request_headers();
$client_time = (isset($headers['If-Modified-Since']) ? strtotime($headers['If-Modified-Since']) : 0);
$now=gmmktime();
$now_list=gmmktime()-60*5;
إذا ($client_time<$now و $client_time >$now_list){
header('Last-Modified: '.gmdate('D, d MYH:i:s', $client_time).' GMT', true, 304);
خروج (0)؛
}آخر{
header('Last-Modified: '.gmdate('D, d MYH:i:s', $now).' GMT', true, 200);
}
?>