לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 04-09-2011, 00:35
  borbabeten borbabeten אינו מחובר  
 
חבר מתאריך: 17.10.05
הודעות: 161
שמירה במטמון-צריך הסבר ודוגמאות

שלום רב.
לאחר שהפכתי את האינטרנט על בוריו אני צריך קצת הסבר לגבי כל השיטות להגדרת שמירה במטמון.
לפי מה שהבנתי ותקנו אותי אם אני טועה קיימות 3 שיטות לשמירה במטמון:
1. הגדרה בקובץ .htaccess
2. שימוש ב-http headers
3. הגדרת תגי meta.
השאלה הראשונה היא מה ההבדל בין השיטות ומתי מומלץ להשתמש בכל אחת?
כעת אשמח לקבל דוגמה איך אני מגדיר לכל אחת מן השיטות שמירה במטמון של שבוע לדוגמה לקבצי תמונה css js html ואיכן אני ממקם זאת.
עכשיו אני יודע שיקפצו כאלה שיאמרו תעשה חיפשו וכו' , בחיי שביצעתי חיפוש וניסיתי הכל אך שום דבר לא עובד אז החלטתי לפתוח אשכול זה שבו תיהיה דוגמה לכל אחת מן השיטות לכל המעוניינים שיבואו אחריי ויהיה ניתן לעגן אשכול זה.

תודה מראש שלומי כהן

נ.ב
במידה וכתבתם לי תמקם Cache-control: public בבקשה להראות את מיקומו המדוייק בתמונה ולהסביר לאיזו שיטה הוא משתייך לא כולנו מבינים זאת כמובן מאליו.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 04-09-2011, 08:21
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 1 שנכתבה על ידי borbabeten שמתחילה ב "שמירה במטמון-צריך הסבר ודוגמאות"

meta עובד רק ב html ולכן נפסל מראש אם יש לך קבצים מסוג אחר שאתה רוצה לעשות את זה עליהם

htaccess משנה את ה http headers, ככה ששני אלה בדיוק אותו דבר.

הגישה של meta קיימת רק עבור אנשים שלא מסוגלים לשנות את זה ברמת השרת - זה לא שונה בשום דבר, אם כי מבזבז טיפה יותר רוחב פס (כשהשרת שולח את זה, הוא לא צריך לעטוף את זה בתג המיותר meta, אלא פשוט שולח את הכותר כחלק מהתשובה לבקשה...). חסרון נוסף של תג meta הוא שלא כולם יפרשו את ה HTML, ולכן לא כולם יהיו מודעים אליו (בניגוד לכותרי ה HTTP שכן....) למשל שרתי פרוקסי למיניהם.

בקיצור, כותרי HTTP היא הדרך הטובה ביותר, מכל כיוון שלא תסתכל עליו.

אני לא יודע על איזו תמונה מדובר, אבל בכל אופן, הכותר שאתה אמור לשלוח הוא:
קוד:
Cache-Control: public, max-age=123456789


כאשר 123456789 מציין את הזמן המקסימלי (בשניות) שאתה מעוניין שהאובייקט הרלוונטי יישאר ב cache-ים השונים (דפדפנים, שרתי פרוקסי, וכו')
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 04-09-2011, 09:50
  borbabeten borbabeten אינו מחובר  
 
חבר מתאריך: 17.10.05
הודעות: 161
בתגובה להודעה מספר 2 שנכתבה על ידי שימי שמתחילה ב "meta עובד רק ב html ולכן נפסל..."

ההסבר היה מצויין אך שלב הביצוע לא כל כך ברור לי.
נניח שאני שולח את הכותר :
קוד:
header("Cache-Control: public, max-age=A604800");

איפה בפקודה זו מצויין לאיזה סוג קבצים אני מתחייחס כלומר נניח שאני רוצה לשלוח כותר זה כך שיתייחס לסוג קובץ ספציפי לדוגמה תמונות jpeg ו-GIf איך אני מבצע זאת?

שאלה נוספת היא נניח שאני רוצה לבצע זאת דרך .htaccess אז כתבתי בתוך קובץ זה את הקוד הבא:
#
קוד:
Turn on Expires and set default to 0 ExpiresActive On ExpiresDefault A0 # Set up caching on media files for 1 year (forever?) <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> ExpiresDefault A29030400 Header append Cache-Control "public" </FilesMatch> # Set up caching on media files for 1 week <FilesMatch "\.(gif|jpg|jpeg|png|swf)$"> ExpiresDefault A604800 Header append Cache-Control "public" </FilesMatch> # Set up 2 Hour caching on commonly updated files <FilesMatch "\.(xml|txt|html|js|css)$"> ExpiresDefault A7200 Header append Cache-Control "proxy-revalidate" </FilesMatch> # Force no caching for dynamic files <FilesMatch "\.(php|cgi|pl|htm)$"> ExpiresActive Off Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform" Header set Pragma "no-cache" </FilesMatch>
אל לצערי כל מה שמופיע בדפדפן זו שגיאה :
Internal Server Error

האם יש טעות בקוד? האם יכול להיות שהשרת שלי לא מאפשר לי שימוש בקוד זה? במידה והבעייה נובעת מהשרת כיצד אני יכול לדעת זאת בוודאות?

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 04-09-2011, 10:00
  ישראל K ישראל K אינו מחובר  
 
חבר מתאריך: 25.08.03
הודעות: 9,114
בתגובה להודעה מספר 3 שנכתבה על ידי borbabeten שמתחילה ב "ההסבר היה מצויין אך שלב..."

header זה שם של פונקציה בשפת PHP, זה לא קשור לפרוטוקול HTTP, זו רק צורה בה בשפה מסויימת שולחים את הנתונים (ולכן גם אין מקום לדון בזה בפורום זה).
מבחינת הפרטוקול, הנתון שנשלח הוא בצורה הבאה:
קוד:
Cache-Control: public, max-age=A604800


תחשוב על התהליך בה הכותר נשלח, ותבין שאתה לא צריך להגדיר שיוך קובץ לפי סוג או בכל צורה אחרת.
בפרוטוקול HTTP, לפחות באופן תיאורטי, כל קובץ נשלח בבקשה נפרדת ועבור כל תשובה/קובץ מצורפים הכותרים הקשורים אליו, כך שהכותר המתייחס לשמירת הקובץ במטמון, הוא עבור אותו קובץ שהתקבל.


בענין ההגדרות בקובץ htaccess:
ברור שהבעיה בשרת, זה הרי קובץ הגדרות של השרת (וגם זה אינו חלק מפרוטוקול HTTP, אלא צורה כלשהי שתוכנה מסויימת (במקרה זה, שרת האינטרנט Apache) מאפשרת להגדיר שליחת כותרים לפי תנאים מסויימים.

נערך לאחרונה ע"י ישראל K בתאריך 04-09-2011 בשעה 10:03.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 04-09-2011, 12:05
צלמית המשתמש של asx
  משתמש זכר asx asx אינו מחובר  
 
חבר מתאריך: 07.10.04
הודעות: 373
בתגובה להודעה מספר 1 שנכתבה על ידי borbabeten שמתחילה ב "שמירה במטמון-צריך הסבר ודוגמאות"

לגמרי לא, יש עוד המון שיטות לביצוע caching.. יש בגדול 2 דברים שצריך לחסות, האחד, קאצ'ינג צד לקוח(דפדפן) כפי שביצעת והשני, קאצ'ינג צד שרת.
הראשון (צד לקוח), דואג לשמור קבצים, תמונות, קבצי html, כל מה שהמשתמש בעצם רואה - במטמון שלו לצורך גישה מהירה מאוחר יותר (דבר שעלול להוות בעיה אם הקבצים מתחלפים לתדירות גבוהה והכותרות, הheaders, של הקובץ לא נכונים. צריך לשים לב לזה). מצד שני, ההגיון הוא שאין שום סיבה בעולם שאני אוריד את הלוגו של פרש לדוגמא כל ביקור באתר או מעבר עמוד ולכן הוא אמור להשאב מקובץ זמני שנשמר על המחשב.

הדרך השניה, מטמון צד שרת. תכלס, מיועד רק לאתרים שעושים שימוש בשאילתות מרובות, בחישובים כלשהן בעמוד שאין צורך לבצע שוב ושוב... לדוגמא אתר חדשות שמתעדכן פעם לשעה - אין סיבה לבצע את כל החישובים האלה כל הזמן, רק פעם בשעה. מה שעושים הוא פעם בשעה, מריצים את הפונקציות במלואן ושומרים אותן במטמון (שיכול להיות קובץ html, אפשר לעשות שימוש בזיכרון עצמו- apc in php). להבא, למשתמש ישלף קובץ סטטי, קובץ html ונמנע ממנו המתנה לכל החישובים.

אני נוטה לפעמים להסתבך שאני מנסה לכתוב דברים כאלה, מקווה מאוד שהייתי ברור.. מצרף פה קישור קצת יותר מורחב על הנושא, כתבתי פה לגמרי על קצה המזלג. רק שתדע שנכנסת פה לתחום מאוד מאוד רחב שדורש הבנה ולמידה. אי אפשר לבצע קאצ'ינג על רגל אחת, חובה להבין בדיוק מה עושים אחרת מגיעים לתוצאות שישגעו אותך ואת המשתמשים.
http://www.mnot.net/cache_docs/

נערך לאחרונה ע"י asx בתאריך 04-09-2011 בשעה 12:08.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:03

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר