◀ חדש! הצטרפו לקבוצה הסגורה שלנו בפייסבוק ושאלו את המומחים להצטרפות >>
קולות
0
1.1k צפיות

EXPIRES CACHING - האם אפשר לדאוג לעדכון מידי באתר שיראה בו זמנית לכולם ללא המתנה?

על ידי <סגן משנה> 2.4k צפיות
נערך על ידי
אצלי  EXPIRES CACHING מוגדר ל-8 ימים.
מה אני צריך לעשות (אם זה אפשרי בכלל) כדי שעדכון X יראה עבור גולשים "ישנים" (נכנסו כבר לאתר במהלך 8 הימים הללו)?

אם אני (לדוגמה) מפרסם משהו חדש בעמוד הבית של האתר ומפרסם בפייסבוק מודעה -
כל הגולשים שכבר נכנסו לאתר במהלך 8 הימים לא יבחינו בשינוי...

*האם יש דרך לבצע זאת כך שהשינוי יראה לכולם בו זמנית?

1 Answer

קולות
0
על ידי <רב אלוף> 178k צפיות
בגדול כאשר אתה משנה את התמונה, תגית ה Last-Modified ב HTTP Headers מעדכנת את התאריך והדפדפן מוריד את התמונה מחדש בביקור הראשוני (בתנאי והגדרת את המטמון בצורה תקינה).

לגבי הפיסבוק כזכור לי אפשר לרענן את המטמון בתצוגה המקדימה שלהם
על ידי <סגן משנה> 2.4k צפיות
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
?>

אם אני מכניס את הקוד הזה בראש העמוד זה עושה את העבודה.
על ידי <רב אלוף> 178k צפיות
נראה שזה מבטל את המטמון לגמרי
על ידי <סגן משנה> 2.4k צפיות
אבל זה לא פוגע בזמן טעינה לפי כלי הבדיקה של גוגל.
ושנית, אני יכול להכניס את הפקודה רק בעמוד ספציפי שחשוב לי שהנתונים בעמוד יראו מיד לכל הגולשים.

אם אני (לדוגמא) מוריד או משנה הגדרות ב-EXPIRES CACHING
זה פוגע בזמן טעינה לפי כלי הבדיקה של גוגל.

אז זה הפתרון הטוב ביותר (כך נראה).
על ידי <רב אלוף> 178k צפיות
טכנית תבדוק מה הדפדפן עושה בכל ביקור(אם הוא מושך את התמונה או מחזיר 304).
ללא קשר לכלי של גוגל שאולי לא בודק את התגית הזו.

לדעתי ביטול המטמון ב HTTP HEADERS ימנע מהדפדפן לטעון את הקבצים בכל ביקור, גם אחרי הביקור הראשוני
על ידי <סגן משנה> 2.4k צפיות
זה רק באופן זמני.
בכל מקרה, אני לא מקבל 304.
על ידי <רב אלוף> 178k צפיות
זה בידיוק החיסרון שבפתרון הזה.
במקום לגרום להורדה מחדש בביקור הראשון, אני חושב שאתה מבטל את כל המטמון בדף עבור כל ביקור נוסף
על ידי <סגן משנה> 2.4k צפיות
אז איזו פקודה אתה הייתה מכניס במקום?
אשמח אם תרשום אותה כאן
על ידי <רב אלוף> 178k צפיות
אם הקובץ נערך\משתנה, המערכת מטפלת בזה לבד.
שום פקודה למעט הגדרה תקינה ראשונית של המטמון ב HTACCESS
על ידי <סגן משנה> 2.4k צפיות
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 8 days"
ExpiresByType image/jpeg "access plus 8 days"
ExpiresByType image/gif "access plus 8 days"
ExpiresByType image/png "access plus 8 days"
ExpiresByType text/css "access plus 8 days"
ExpiresByType application/pdf "access plus 8 days"
ExpiresByType text/x-javascript "access plus 8 days"
ExpiresByType application/x-shockwave-flash "access plus 8 days"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/ico "access plus 1 years"
ExpiresDefault "access plus 8 days"
</IfModule>
ExpiresByType image/png A1209600
## EXPIRES CACHING ##


מה היית משנה?
אשמח אם תרשום את השינוי כאן
על ידי <רב אלוף> 178k צפיות
אני משתמש בסניפט הנ"ל
http://pastebin.com/F9zmKMcL
על ידי <סגן משנה> 2.4k צפיות
שום דבר מהסניפט הזה לא עונה למה שאני רשמתי
על ידי <רב אלוף> 178k צפיות
כמו שאמרתי לך בתשובה הראשונה.

ברגע שאתה עורך קובץ, התאריך באזור ה Last-Modified משתנה בהתאם לתאריך השינוי.
בביקור של הגולש הדפדפן בודק את התאריך ומוריד את הקובץ מחדש.
את התשובה שלי תוכל לבדוק בקלות בעזרת כל סניפר או בעזרת כלי ה DEVELOPERS בדפדפנים (שנה תמונה ותראה שהתאריך השתנה)
אני בדרך כלל עובד עם FIDDLER

אין צורך לתת תשובה לשאלה שלך, בהנחה והגדרת בצורה תקינה את ניהול המטמון, אז אין בעיה עם שינוי תמונות\מדיה באתר.

הסניפט הזה לא אמור לענות על השאלה, הצגתי אותו כי כתבת מה היית משנה, אז הצגתי לך בדיוק את מה שאני הייתי משנה.
על ידי <סגן משנה> 2.4k צפיות
כמו שראית הקוד אצלי נמצא ובסדר.
הבעיה היא: כאשר מגדירים יום (במקום 8 ימים, חודש, שנה) זה יוצר והאתר אינו מתפקד.
לכן הכנסתי את הקוד הקודם.

ניתן גם להכניס פקודת רענון אוטומטי לדף/דפים - אך זה לא מומלץ
על ידי <רב אלוף> 178k צפיות
זה לא אמור לקרות, או שאני לא הבנתי אותך נכון, או שאתה לא אבחנת את הבעיה נכון.

אשמח לבדוק את זה אונליין, גם שאני מגדיר מטמון לחודשים, בכל שינוי של קובץ סטטי בביקור הראשון הדפדפן מוריד אותו במקום להחזיר 304
על ידי <סגן משנה> 2.4k צפיות
לפי כל הבדיקות שעשיתי - כאשר אני מגדיר יום (בכל הפרמטרים)
זה גורם לאתר ליפול.
וללא קשר - זה גורם גם לציון איכות טעינת אתר פחות טוב...

זה מהווה חשיבות רק במידה ואני רוצה לשנות עמוד X ובאותו הרגע זה יראה גם עבור גולשים חוזרים.
על ידי <רב אלוף> 178k צפיות
הציון נמוך יותר כי הם מבקשים לשמור מטמון לתקופה זמן של יותר מיום.

בבדיקות שעשיתי לא נתקלתי בבעיה.
אתה המפתח מבין שנינו משאיר לך את הבמה
על ידי <סגן משנה> 2.4k צפיות
אכן, כך.
חג שמח

4,354 שאלות

7,384 תשובות

9,949 תגובות

2,091 משתמשים

שאלות קשורות

1 תשובה
קולות
–1
שאלה נשאלה על ידי 25/08/14 על ידי Dudi Tamir <סגן משנה> 2.4k צפיות
1 תשובה
קולות
0
שאלה נשאלה על ידי 23/12/12 על ידי SIpo 120 צפיות
2 תשובות
קולות
+1
...