
מטרה
- להכריז על תוקף העמוד כך שניתן יהיה להשתמש בזיכרון המטמון של הדפדפן \ שרת פרוקסי במקום להוריד מחדש את הקבצים מהשרת.
נקודות חשובות
- הקוד הוא “צד שרת”, משמע ניתן להכריז על תוקף העמוד באמצעות השפות: PHP, ASP, ASPX, CGI וכד’.
- השימוש ב- תגית מטא Expire הוא אפשרי אך עם זאת פחות מומלץ.
תגית זו נחשבת כפחות אמינה בעיני הדפדפנים ואין לה השפעה על שרתי פרוקסי כפי שעושות הכרזות Header בצד שרת. - ניתן להגדיר תאריך תפוגה נפרד לאלמנטים עם סיומת ספציפית, לדוגמא: JPG, GIF, PNG.
נכון להיום – לא מצאתי אפשרות לקבוע תאריך תפוגה נפרד לכל קובץ בעמוד.
- בפועל – נשתמש באמצעי זה לאחר שמזערנו תמונות, טיפלנו בסדר הטעינה של קבצים (CSS/JS), מזערנו קבצים (HTML, JS, CSS) והתאמנו את האתר לפרוטוקול הכיווץ GZIP.
הכרזת התוקף
PHP:
הכרזה על תוקף העמוד כולו, סטטית:
<?php
header(“Expires: Sat, 26 Jul 2011 05:00:00 GMT”); // Date of expiry
?>
הכרזה על תוכן העמוד כולו, דינאמית:
// calc an offset of 24 hours
$offset = 3600 * 24;
// calc the string in GMT not localtime and add the offset
$expire = “Expires: ” . gmdate(“D, d M Y H:i:s”, time() + $offset) . ” GMT”;
//output the HTTP header
Header($expire);
לפירוט מלא על הגדרת Expires באמצעות PHP על ידי שימוש ב- htaccess ניתן להגדיר תוקף נפרד לסוגי קבצים באופן הבא:
ExpiresByType text/html “access plus 1 month 15 days 2 hours”
ExpiresByType image/gif “modification plus 5 hours 3 minutes”
לפירוט מלא על הגדרת Expires דרך htaccess
ASP
הכרזה על תוקף העמוד כולו (בדקות):
<%response.Expires=10080%>
בדוגמא – זו: 10080 דקות = 7 ימים.לפירוט מלא על הגדרת Expires באמצעות ASP
ASPX
הכרזה על תוקף העמוד כולו (בשניות):
<%@ OutputCache Duration=”604800″ VaryByParam=”*” %>
בדוגמא זו: 604800 שניות = 7 ימים.
לפירוט מלא על הגדרת Expires באמצעות ASPX שימוש בתגית מטא – פחות מומלץ
<meta http-equiv=”expires” content=”Fri, 30 Dec 2011 12:00:00 GMT” />
כאמור, אפשרות זו נחשבת כאמינה פחות בעיני דפדפנים ואינה משפיעה על שרתי Proxy.בהצלחה,
למידע נוסף באנגלית, כנסו לאתר: http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/