Cache Expiry – שימוש במטמון לשיפור זמן טעינה

מטרה

  • להכריז על תוקף העמוד כך שניתן יהיה להשתמש בזיכרון המטמון של הדפדפן \ שרת פרוקסי במקום להוריד מחדש את הקבצים מהשרת.

נקודות חשובות

  • הקוד הוא “צד שרת”, משמע ניתן להכריז על תוקף העמוד באמצעות השפות: 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/

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *