تحلیل‌گر هدرهای کش

هدرهای کش HTTP را برای هر URL تحلیل کنید. Cache-Control، Expires، ETag، Last-Modified، Vary، Age و سیگنال‌های رایج کش CDN را بررسی کنید تا رفتار کش مرورگر در مقابل کش اشتراکی را درک کنید. شامل ردیابی تغییر مسیر، نمایش هدرهای خام، فیلتر کردن، یافته‌های مشکل و خروجی JSON/PDF می‌شود.

Loading…

درباره تحلیلگر هدرهای کش

یک URL را جایگذاری کنید و فوراً درک کنید که چگونه کش می‌شود: دستورالعمل‌های مرورگر، کش‌گذاری اشتراکی CDN/پراکسی (s-maxage، کنترل‌های surrogate)، اعتبارسنج‌ها (ETag/Last-Modified) و الگوهای اعتبارسنجی مجدد (stale-while-revalidate، stale-if-error). از آن برای اشکال‌زدایی عملکرد، جلوگیری از کش‌گذاری تصادفی HTML و تأیید سیاست‌های کش دارایی‌های استاتیک استفاده کنید.

ویژگی‌ها

  • ممیزی کش مبتنی بر URL با کارت امتیاز واضح + یافته‌ها (تمرکز بر هدرهای کش/عملکرد).
  • دنبال کردن تغییر مسیرها (تا ۱۰ مورد) برای دیدن محل اعمال واقعی قوانین کش.
  • نمایش هدرهای خام برای شفافیت کامل (آنچه سرور/CDN واقعاً بازگرداند).
  • برجسته‌سازی‌های تحلیل کش: دستورالعمل‌های Cache-Control، Expires/Pragma و تعارض‌ها.
  • بررسی‌های اعتبارسنج: تشخیص ETag و Last-Modified (برای درخواست‌های شرطی و اعتبارسنجی مجدد).
  • تحلیل Vary برای شناسایی رفتار Vary گمشده یا پرخطر (به ویژه برای محتوای شخصی‌سازی شده).
  • تشخیص سیگنال‌های CDN: Age، Via، CF-Cache-Status، X-Cache، هدرهای سبک Fastly/Akamai/CloudFront.
  • فیلترها و حالت «فقط مشکلات» برای تمرکز سریع بر مسائل قابل اقدام.
  • خروجی گرفتن نتایج به صورت گزارش‌های JSON و PDF (عالی برای ممیزی‌ها و تحویل به مشتری).
  • بررسی اولیه با HEAD (بازگشت به GET) برای حداقل کردن پهنای باند در حالی که سازگاری حفظ می‌شود.

🧭 نحوه استفاده for cache-headers-analyzer

1

وارد کردن URL

URL کامل مورد نظر برای ممیزی را جایگذاری کنید (مثلاً [https://example.com/static/app.css](https://example.com/static/app.css)).

2

انتخاب رفتار درخواست

«اول HEAD را امتحان کن (بازگشت به GET)» را برای بررسی‌های سریع فعال نگه دارید. اگر URL ممکن است تغییر مسیر دهد (HTTP→HTTPS، www، CDN و غیره)، «دنبال کردن تغییر مسیرها» را فعال کنید.

3

انتخاب تمرکز تحلیلگر

برای نمای متعادل از «خودکار (توصیه شده)» استفاده کنید. برای اولویت‌دهی به مرتبط‌ترین یافته‌ها برای نقطه پایانی خود، به «کش‌گذاری مرورگر»، «کش‌گذاری CDN / پراکسی» یا «کش‌گذاری API» تغییر دهید.

4

مرور یافته‌ها و دسته‌بندی‌های هدر

ابتدا امتیاز/یافته‌ها را بررسی کنید، سپس به دستورالعمل‌های کش، اعتبارسنج‌ها (ETag/Last-Modified)، تحلیل Vary و سیگنال‌های CDN (Age، هدرهای وضعیت کش) بپردازید. در صورت نیاز به پاسخ کامل، «نمایش هدرهای خام» را روشن کنید.

5

خروجی گرفتن گزارش

یک گزارش JSON برای خودکارسازی یا یک گزارش PDF برای ممیزی‌ها و اشتراک‌گذاری با همکاران/مشتریان دانلود کنید.

مشخصات فنی

مدل درخواست

این ابزار یک بازرسی هدر URL با امکان دنبال کردن تغییر مسیر انجام می‌دهد. ابتدا یک درخواست HEAD را امتحان می‌کند (در صورت فعال بودن) و در صورت نیاز به GET بازمی‌گردد.

تنظیمرفتارپیش‌فرض
اول HEAD را امتحان کن (در صورت عدم موفقیت به GET بازگرد)برای دریافت سریع هدرها از HEAD استفاده می‌کند؛ در صورت عدم پشتیبانی یا کافی نبودن HEAD به GET بازمی‌گرددفعال
دنبال کردن تغییر مسیرهازنجیره تغییر مسیر را دنبال می‌کند تا رفتار نهایی کش را بررسی کندفعال
حداکثر تغییر مسیرهاسقف تغییر مسیر برای جلوگیری از حلقه‌های بی‌نهایت۱۰ (محدوده ۰ تا ۲۰)
مهلت زمانیمحدودیت مهلت زمانی درخواست۱۵۰۰۰ میلی‌ثانیه
کاربر-عاملعامل کاربر درخواست را شناسایی می‌کندEncode64Bot/1.0 (+[https://encode64.com](https://encode64.com))
شبکه‌های خصوصیبرای ایمنی، دسترسی به محدوده‌های شبکه خصوصی را مسدود می‌کندغیرفعال (شبکه‌های خصوصی مجاز نیستند)

هدرها و سیگنال‌های تحلیل شده

تحلیلگر بر معناشناسی کش (مرورگر و کش‌های اشتراکی) به علاوه سیگنال‌های رایج لبه CDN تمرکز دارد.

دستهنمونه‌ها
دستورالعمل‌های کشCache-Control, Expires, Pragma, Surrogate-Control, CDN-Cache-Control
اعتبارسنج‌هاETag, Last-Modified (برای درخواست‌های شرطی / اعتبارسنجی مجدد استفاده می‌شود)
رفتار کش اشتراکیs-maxage, stale-while-revalidate, stale-if-error (وقتی در Cache-Control وجود دارد)
رفتار VaryVary (تنوع‌های کلید کش و ایمنی شخصی‌سازی)
سیگنال‌های CDN/پراکسیAge, Via, CF-Cache-Status, X-Cache, X-Cache-Hits, Server-Timing و سایر نشانه‌های لبه
برخی هدرهای CDN خاص فروشنده هستند؛ وجود و معنا می‌تواند بسته به ارائه‌دهنده و پیکربندی متفاوت باشد.

اکتشافی‌ها (چه چیزی هشدارها را فعال می‌کند)

یافته‌ها از اکتشاف‌های عملی کش استخراج شده‌اند تا به شناسایی سیاست‌های کش مفقود، متناقض یا ضعیف کمک کنند.

اکتشافیچیزی که بررسی می‌کند
عدم وجود Cache-Controlهشدار در صورت عدم وجود Cache-Control
دستورات متضادهشدار در صورت ناسازگاری دستورات (مثلاً، قصد‌های کش‌گذاری مختلط)
عدم وجود اعتبارسنج‌هاهشدار در صورت عدم وجود ETag/Last-Modified در پاسخ‌های قابل کش
اعتبارسنج‌های ضعیفالگوهای اعتبارسنج ضعیف را در صورت مرتبط بودن علامت‌گذاری می‌کند
خطر Varyهشدار در صورت عدم وجود Vary در جایی که به نظر می‌رسد تنوع لازم است
عدم تطابق Pragma no-cacheهشدار در صورت وجود Pragma: no-cache بدون Cache-Control متناظر

طبقه‌بندی (ایستا در مقابل HTML در مقابل API)

تحلیلگر می‌تواند قصد نوع محتوا را از مسیر URL استنباط کند تا توصیه‌های کش‌گذاری را سفارشی کند.

کلاسالگوهای مسیر (نمونه‌ها)
دارایی ایستا.css, .js, .png, .svg, .woff2 و غیره
HTML.html, .htm
APIمسیرهایی که با /api/ شروع می‌شوند یا با .json پایان می‌یابند
اگر URL شما با این الگوها مطابقت ندارد، از «تمرکز تحلیلگر» برای هدایت توصیه‌ها استفاده کنید.

خط فرمان

از این قطعات CLI برای بررسی هدرهای کش به صورت محلی استفاده کنید. آن‌ها جایگزین یافته‌ها/امتیاز این ابزار نیستند، اما به شما کمک می‌کنند نتایج را به سرعت بازتولید کنید.

macOS / Linux

دریافت هدرها با یک درخواست HEAD

curl -I [https://example.com/static/app.css](https://example.com/static/app.css)

بدون دانلود بدنه، Cache-Control، Expires، ETag، Last-Modified، Vary و سیگنال‌های CDN را بررسی می‌کند.

دنبال کردن تغییر مسیرها و نمایش هدرها

curl -IL [https://example.com/](https://example.com/)

زنجیره تغییر مسیر را نشان می‌دهد تا بتوانید تأیید کنید که دستورات کش‌گذاری در کجا تغییر می‌کنند.

Run

ویندوز (PowerShell)

دریافت هدرهای پاسخ

(Invoke-WebRequest -Uri [https://example.com/static/app.css](https://example.com/static/app.css) -Method Head).Headers

هدرها شامل Cache-Control، ETag، Last-Modified و هدرهای CDN فروشنده را در صورت وجود فهرست می‌کند.

برای دارایی‌های استاتیک با نام‌های فایل هش‌شده (app.abc123.css)، کش‌گذاری طولانی‌مدت با immutable را ترجیح دهید. برای HTML، محافظه‌کار باشید تا از ارائه صفحات شخصی‌سازی‌شده قدیمی جلوگیری کنید.

موارد استفاده

حسابرسی کش‌گذاری دارایی‌های استاتیک (CSS/JS/تصاویر/فونت‌ها)

تأیید کنید که دارایی‌های اثرانگشتی برای مدت طولانی قابل کش‌گذاری هستند و در صورت نیاز می‌توانند به طور مؤثر اعتبارسنجی مجدد شوند.

  • تأیید کنید که Cache-Control شامل max-age طولانی و (در صورت مناسب بودن) immutable است
  • اطمینان حاصل کنید که اعتبارسنج‌ها (ETag یا Last-Modified) برای اعتبارسنجی مجدد ایمن وجود دارند
  • شاخص‌های برخورد کش CDN را بررسی کنید (Age، CF-Cache-Status، X-Cache)
Cache-Control: public, max-age=31536000, immutable
ETag: "686897696a7c876b7e"
Vary: Accept-Encoding

جلوگیری از کش‌گذاری تصادفی صفحات HTML

مواردی را شناسایی کنید که صفحات HTML در سطح CDN یا مرورگر بیش از حد تهاجمی کش می‌شوند، که می‌تواند جریان‌های ورود، شخصی‌سازی و ثبات رندرینگ سئو را مختل کند.

  • تشخیص Cache-Control بیش از حد مجاز روی HTML
  • شناسایی Vary گم‌شده در جایی که محتوا بر اساس کوکی‌ها، احراز هویت یا زبان متفاوت است
  • تأیید الگوهای ایمن اعتبارسنجی مجدد

مرور کش‌گذاری نقطه پایانی API

درک کنید که آیا کش‌های اشتراکی برای پاسخ‌های API فعال هستند و آیا API شما به طور ایمن قابل کش‌گذاری است یا خیر.

  • تشخیص کش‌گذاری اشتراکی از طریق s-maxage
  • شناسایی استراتژی‌های stale-while-revalidate / stale-if-error
  • علامت‌گذاری اعتبارسنج‌های گم‌شده زمانی که پاسخ‌های API قابل کش‌گذاری هستند

اشکال‌زدایی رفتار CDN در میان تغییرمسیرها

بسیاری از سایت‌ها تغییرمسیر می‌دهند (HTTP→HTTPS، apex→www، تغییرمسیرهای محلی). این ابزار کمک می‌کند تا اطمینان حاصل شود که سیاست‌های کش‌گذاری از اولین پرش تا پاسخ نهایی ثابت باقی می‌مانند.

  • تأیید هدرها در هر پرش و روی URL نهایی
  • شناسایی تغییرات هدر کش معرفی‌شده توسط قوانین لبه یا بازنویسی‌های مبدأ

❓ Frequently Asked Questions

این ابزار برای کش‌گذاری چه هدرهایی را تحلیل می‌کند؟

تمرکز آن بر معناشناسی و سیگنال‌های کش است: Cache-Control، Expires، Pragma، Age، ETag، Last-Modified، Vary، به علاوه شاخص‌های رایج CDN/پراکسی مانند Via، CF-Cache-Status، X-Cache و هدرهای لبه مرتبط.

چرا نتایج کش‌گذاری متفاوتی بین مرورگر و CDN مشاهده می‌کنم؟

مرورگرها از دستورالعمل‌های کش سرتاسری (Cache-Control، Expires) پیروی می‌کنند در حالی که CDNها و پراکسی‌ها ممکن است قوانین کش اشتراکی (s-maxage، Surrogate-Control) و سیاست‌های لبه را اعمال کنند. یک پاسخ می‌تواند در لبه قابل کش‌گذاری باشد اما در مرورگر کوتاه‌مدت باشد، یا برعکس.

ETag و Last-Modified برای چه استفاده می‌شوند؟

آن‌ها اعتبارسنج‌هایی برای درخواست‌های شرطی هستند. با ETag (If-None-Match) یا Last-Modified (If-Modified-Since)، کلاینت‌ها و کش‌ها می‌توانند منابع را اعتبارسنجی مجدد کنند و در صورت عدم تغییر محتوا، یک پاسخ سبک 304 Not Modified دریافت کنند.

آیا باید صفحات HTML را برای مدت طولانی کش کنم؟

معمولاً خیر. HTML اغلب به طور مکرر تغییر می‌کند و ممکن است شخصی‌سازی شود. کش‌گذاری تهاجمی می‌تواند محتوای قدیمی یا اشتباه را ارائه دهد. کش‌گذاری کوتاه با اعتبارسنجی مجدد را ترجیح دهید و از قوانین Vary صحیح زمانی که محتوا به هدرها/کوکی‌ها وابسته است استفاده کنید.

Vary چیست و چرا مهم است؟

Vary به کش‌ها می‌گوید که کدام هدرهای درخواست بر پاسخ تأثیر می‌گذارند (مثلاً Accept-Encoding). Vary گم‌شده یا نادرست می‌تواند باعث شود کش‌ها نوع اشتباه را ارائه دهند (فشرده در مقابل غیرفشرده، انواع زبان و غیره).

آیا چسباندن URLها در اینجا ایمن است؟

این ابزار درخواست‌های سمت سرور به URL ارائه‌شده را انجام می‌دهد و اهداف شبکه خصوصی را مسدود می‌کند. از URLهای عمومی که به آن‌ها اعتماد دارید استفاده کنید و از چسباندن اسرار در رشته پرس‌وجوی URL خودداری کنید.

آیا می‌توانم تحلیل را صادر کنم؟

بله. این ابزار از صدور گزارش JSON و گزارش PDF پشتیبانی می‌کند تا بتوانید نتایج را به اشتراک بگذارید یا به ممیزی‌های عملکرد ضمیمه کنید.

Pro Tips

Performance Tip

اگر دارایی‌های شما اثرانگشت‌دار هستند (هش در نام فایل)، از max-age طولانی + immutable برای بهترین عملکرد بازدید تکراری استفاده کنید.

Security Tip

اگر HTML شخصی‌سازی شده است (کوکی‌ها/احراز هویت)، از کش‌گذاری در کش‌های اشتراکی خودداری کنید مگر اینکه به طور کامل کلید کش و رفتار Vary را کنترل کنید.

Performance Tip

اعتبارسنج‌ها (ETag یا Last-Modified) را روی منابع قابل کش‌گذاری ترجیح دهید تا مشتریان بتوانند با 304 مجدداً اعتبارسنجی کنند به جای دانلود مجدد.

Best Practice

مراقب دستورات متضاد مانند no-store مخلوط با max-age طولانی باشید؛ اینها معمولاً نشان‌دهنده پیکربندی نادرست هستند.

Best Practice

هنگام اشکال‌زدایی تغییر مسیرها، هدرهای کش را در هر مرحله مقایسه کنید؛ قوانین لبه می‌توانند کش‌گذاری را بین تغییر مسیرها و URL نهایی تغییر دهند.

CI Tip

گزارش‌های JSON را صادر کنید و آن‌ها را در مصنوعات CI/ممیزی عملکرد خود نگه دارید تا رگرسیون‌ها را در طول زمان ردیابی کنید.

Additional Resources

Other Tools

تحلیلگر هدرهای کش — بررسی Cache-Control، ETag، سیگنال‌های CDN و کش‌گذاری مرورگر | Encode64