מדריך קלאודפלייר בעברית

תיעוד 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 קבע בזמן הבקשה שהנכס אינו כשיר למטמון, ולכן הבקשה הלכה לשרת האינטרנט של המקור בלי חיפוש במטמון.

זה קורה בדרך כלל כאשר:

השתמשו ב-Cache Rules כדי לשנות איזה תוכן Cloudflare שומר במטמון. ברגע שהבקשה מטופלת ככשירה למטמון, כותרת CF-Cache-Status תשקף את החלטת המטמון בזמן התגובה (HIT, MISS, EXPIRED, REVALIDATED, BYPASS וכן הלאה). ראו BYPASS למקרה שבו תגובת המקור בסופו של דבר אינה ניתנת למטמון.

אם ציפיתם שהבקשה תהיה כשירה למטמון אבל אתם רואים DYNAMIC, ראו Investigate uncached responses.