תיעוד 29
תגובות מטמון של Cloudflare
עודכן לאחרונה: 4 בספטמבר 2026. לפי התיעוד הרשמי של Cloudflare: Cloudflare cache responses.
כותרת הפלט CF-Cache-Status מציינת אם משאב נמצא במטמון או לא. כדי לחקור תגובות מטמון שמוחזרות בכותרת זו, השתמשו בשירותים כמו Redbot, webpagetest.org, או כלי ויזואלי כמו תוסף Cloudflare Optics.
כותרת התגובה Age
כותרת התגובה Age מוחזרת כאשר Cloudflare מגיש תגובה מהמטמון. זה מספר השניות שבהן נכס נמצא במטמון של Cloudflare מאז שהוא התקבל או אומת מחדש לאחרונה, והוא מתאפס באימות מחדש מול המקור, בניקוי, או בהוצאה מהמטמון. עם Tiered Cache, Age משקף את גיל האובייקט במטמון ברשת כולה של Cloudflare: HIT שמגיע מקומית יכול לשאת Age שעבר משכבה עליונה, כך שהערך יכול להיות ישן יותר מהמילוי המקומי האחרון.
Cloudflare מגדיר Age בתגובות HIT, STALE ו-UPDATING. הוא לא מגדיר Age ב-MISS, ב-EXPIRED או ב-REVALIDATED כאשר הבקשה אומתה מחדש מול המקור, ב-DYNAMIC, ב-BYPASS, או ב-NONE/UNKNOWN. אם המקור מגדיר Age בתגובה שאינה ניתנת למטמון, הערך מועבר ללקוח ללא שינוי: תגובת DYNAMIC או BYPASS יכולה לשאת Age שהגיע מהמקור, לא מ-Cloudflare.
להלן פירוט מקיף של סטטוסי תגובת המטמון של Cloudflare.
#HIT
המשאב נמצא במטמון של Cloudflare.
#MISS
התגובה כשירה למטמון אבל לא הייתה במטמון של Cloudflare בזמן הבקשה, ולכן היא הוגשה משרת האינטרנט של המקור. תגובות ש-Cloudflare בוחר לא לשמור במטמון מחזירות BYPASS במקום MISS.
#NONE/UNKNOWN
Cloudflare ייצר תגובה שמציינת שהנכס אינו כשיר למטמון. זה יכול היה לקרות כי:
- Worker ייצר תגובה בלי לשלוח בקשות משנה. במקרה זה התגובה לא הגיעה מהמטמון, ולכן סטטוס המטמון יהיה
none/unknown. - בקשת Worker ביצעה בקשת משנה (
fetch). במקרה זה בקשת המשנה תירשם עם סטטוס מטמון, ואילו הבקשה הראשית תירשם עם סטטוסnone/unknown(הבקשה הראשית לא פגעה במטמון, כי Workers יושב לפני המטמון). - כלל מותאם אישית של WAF הופעל כדי לחסום בקשה. התגובה תגיע מרשת Cloudflare העולמית לפני שהיא מגיעה למטמון. מכיוון שאין סטטוס מטמון, Cloudflare ירשום
none/unknown. - כלל הפניה או
Always Use HTTPSגרמו לרשת העולמית להגיב בהפניה לנכס או לכתובת URL אחרת. תגובת ההפניה מתרחשת לפני שהבקשה מגיעה למטמון, ולכן סטטוס המטמון הואnone/unknown.
#EXPIRED
המשאב נמצא במטמון של Cloudflare אבל פג תוקפו, והוא הוגש משרת האינטרנט של המקור.
#STALE
המשאב הוגש מהמטמון של Cloudflare אבל פג תוקפו. Cloudflare לא הצליח ליצור קשר עם שרת האינטרנט של המקור כדי לשלוף משאב מעודכן.
#BYPASS
Cloudflare ראה את הנכס ככשיר למטמון בזמן הבקשה, כי הוא תואם את סיומות הקבצים שמוטמנות כברירת מחדל, או כי Cache Rule אפשר מטמון עבורו, אבל תגובת המקור בסופו של דבר לא הייתה ניתנת למטמון.
סיבות נפוצות לכך שתגובת המקור מטופלת כלא ניתנת למטמון כוללות:
- התגובה חורגת מגודל הקובץ המרבי שניתן לשמור במטמון לפי התוכנית שלכם.
- המקור החזיר
no-storeאוprivateבלבד בכותרתCloudflare-CDN-Cache-ControlאוCDN-Cache-Control. Cloudflare מעריך כותרות אלה לפניCache-Control, לפי סדר העדיפותCloudflare-CDN-Cache-Control>CDN-Cache-Control>Cache-Control. לכן מקור שמחזירCache-Control: public, max-age=3600יחד עםCDN-Cache-Control: no-storeמייצרBYPASS. Cache Rule עם הגדרת Edge Cache TTL שמתעלמת מ-cache-control של המקור דורסת הנחיות אלה, בדיוק כמו שהיא דורסתCache-Control: no-store.no-cache,max-age=0אוs-maxage=0בכותרות אלה לא מייצריםBYPASS. הם מייצריםMISSבבקשה הראשונה, ואחר כך REVALIDATED או EXPIRED. ראו CDN-Cache-Control לכללי סדר העדיפות. - המקור החזיר
Cache-Control: no-storeאוprivate. הנחיות אלה מונעות מטמון בכל אחד ממצבי Origin Cache Control. - המקור החזיר
Cache-Control: no-cache,max-age=0אוs-maxage=0, ו-Origin Cache Control כבוי (ברירת המחדל בתוכניות Enterprise). כאשר Origin Cache Control מופעל (ברירת המחדל בתוכניות Free, Pro ו-Business), הנחיות אלה גורמות ל-Cloudflare לשמור את התגובה במטמון ולאמת אותה מחדש, ומייצרות REVALIDATED או EXPIRED. ראו Understand no-store and no-cache directives ואת טבלת Conditions. - המקור החזיר כותרת
Set-Cookie. ראו Interaction of Set-Cookie response header with Cache להגדרות הספציפיות שמייצרותBYPASS. - המקור החזיר כותרת תגובה
Vary: *, שתמיד עוקפת מטמון. - הבקשה כללה כותרת
Authorizationו-Origin Cache Control מופעל (ברירת המחדל בתוכניות Free, Pro ו-Business). במצב זה התגובה ניתנת למטמון רק אםCache-Controlכולל גםpublic,s-maxageאוmust-revalidate. בתוכניות Enterprise עם Origin Cache Control כבוי,Authorizationלבדה לא מונעת מטמון.
הערה
אם הגדרתם Cache Rule עם Eligible for cache מוגדר ל-Yes (למשל על תוכן HTML) והמקור מחזיר הנחיית Cache-Control שאינה ניתנת למטמון, התגובה מוחזרת עם CF-Cache-Status: BYPASS, לא DYNAMIC. DYNAMIC מוחזר רק כאשר Cloudflare קובע שהנכס אינו כשיר למטמון בזמן הבקשה.
BYPASS פירושו שההחלטה לא לשמור במטמון התקבלה בזמן התגובה: הבקשה הייתה כשירה למטמון בהתחלה, אבל תגובת המקור או כותרות התגובה הנחו את Cloudflare לא לשמור במטמון. לדוגמה, Cache Rule שמגדיר "cache": true מאפשר מטמון בזמן הבקשה, אבל אם המקור מחזיר Cache-Control: no-store, התגובה תהיה BYPASS.
אם ציפיתם שכתובת URL תישמר במטמון אבל אתם רואים BYPASS, ראו Investigate uncached responses לאבחון שלב אחר שלב.
#REVALIDATED
המקור אישר שהמשאב שבמטמון לא השתנה באמצעות בקשה מותנית (If-Modified-Since או If-None-Match), והתגובה מוגשת מהמטמון של Cloudflare. הסטטוס הזה משקף את נתיב האימות הסינכרוני: הבקשה ממתינה לתגובת המקור לפני שהיא מוגשת.
עם אימות מחדש אסינכרוני מסוג stale-while-revalidate, רוב האימותים מחדש מחזירים עכשיו UPDATING או HIT במקום זאת. REVALIDATED נראה במצבים הבאים: stale-while-revalidate לא מוגדר, או הנחיות כמו must-revalidate או no-cache (כאשר Origin Cache Control מופעל) מונעות הגשה של תוכן שפג תוקפו.
#UPDATING
המשאב פג תוקפו אבל הוגש מהמטמון של Cloudflare בזמן שהמקור מעדכן אותו ברקע. UPDATING הוא הסטטוס הצפוי במהלך אימות מחדש של asynchronous stale-while-revalidate: כל הבקשות במהלך חלון האימות מחדש מקבלות UPDATING או HIT במקום להמתין למקור.
#DYNAMIC
Cloudflare קבע בזמן הבקשה שהנכס אינו כשיר למטמון, ולכן הבקשה הלכה לשרת האינטרנט של המקור בלי חיפוש במטמון.
זה קורה בדרך כלל כאשר:
- הנכס המבוקש אינו אחת מסיומות הקבצים שמוטמנות כברירת מחדל (למשל HTML או JSON) ואין כלל שמנחה את Cloudflare לשמור אותו במטמון.
- Cache Rule עם ההגדרה Bypass cache תואם לבקשה. האפשרות הישנה
Cache Level: Bypassב-Configuration Rules או ב-Page Rules מתנהגת באותו אופן. - Development Mode מופעל באזור, והוא משעה מטמון לשלוש שעות.
השתמשו ב-Cache Rules כדי לשנות איזה תוכן Cloudflare שומר במטמון. ברגע שהבקשה מטופלת ככשירה למטמון, כותרת CF-Cache-Status תשקף את החלטת המטמון בזמן התגובה (HIT, MISS, EXPIRED, REVALIDATED, BYPASS וכן הלאה). ראו BYPASS למקרה שבו תגובת המקור בסופו של דבר אינה ניתנת למטמון.
אם ציפיתם שהבקשה תהיה כשירה למטמון אבל אתם רואים DYNAMIC, ראו Investigate uncached responses.