تنظیمات Caching
کش به معنی ذخیره موقت اطلاعات وبسایت برای پاسخگویی سریعتر به کاربران است. در شبکه توزیع محتوای آبالون، اگر قابلیت کش فعال باشد، نسخهای از فایلهای سایت شما در سرورهای مختلف ذخیره میشود تا سرعت بارگذاری افزایش یابد، مصرف منابع کاهش پیدا کند و پایداری سایت بهتر شود.
عملکرد Cache صفحات در CDN آبالون
زمانی که وبسایت شما از شبکه توزیع محتوای آبالون استفاده میکند، نسخهای از فایلهای آن در سرورهای لبه (Edge Servers) ذخیره میشود. این فرآیند باعث میشود تا سرعت بارگذاری افزایش یابد و فشار روی سرور اصلی کاهش پیدا کند.
وقتی کاربر آدرس سایت را در مرورگر وارد میکند، درخواست او به نزدیکترین سرور CDN ارسال میشود. این سرور ابتدا بررسی میکند که آیا فایل موردنظر در حافظه کش آن وجود دارد یا نه:
-
اگر فایل موجود و معتبر باشد (منقضی نشده باشد)، مستقیماً برای کاربر ارسال میشود.
-
اگر فایل در کش نباشد یا تاریخ اعتبار آن گذشته باشد، سرور، فایل را از سرور اصلی دریافت میکند، آن را ذخیره میکند و سپس برای کاربر میفرستد.
البته همه اطلاعات سایت قابل کش شدن نیستند. معمولاً فایلهای ایستا مثل تصاویر، فایلهای CSS و JavaScript در کش ذخیره میشوند، اما اطلاعات داینامیک یا حساس باید همیشه از سرور اصلی دریافت شوند.
در این فرآیند، اگر یک فایل از کش پاسخ داده شود به آن Hit و اگر نیاز به دریافت مجدد از سرور اصلی باشد، Miss گفته میشود.
برای بررسی اینکه یک فایل Hit بوده یا Miss، میتوانید هدر پاسخ (Response Header) به نام X-Cache را بررسی کنید. برای این کار، در مرورگر Chrome به بخش:
More Tools > Developer Tools > Network > Headers
مراجعه کرده و مقدار X-Cache را در فایل موردنظر مشاهده کنید. این مقدار به شما نشان میدهد که محتوا از کش آمده یا نه.

تفاوت Cache در CDN و Cache مرورگر
کش مرورگر (Browser Caching) به معنی ذخیرهسازی موقت فایلها در مرورگر کاربر است. در این حالت، مدیر سایت فقط تا حدی میتواند مشخص کند که چه فایلهایی و برای چه مدت روی مرورگر ذخیره شوند.
اما در کش سمت سرور یا همان Proxy Caching که توسط CDN انجام میشود، کنترل دقیقتری در اختیار مدیر سایت قرار دارد. شما میتوانید مشخص کنید چه منابعی، چگونه و تا چه مدتی روی سرورهای لبه CDN ذخیره شوند. این موضوع باعث میشود عملکرد سایت پایدارتر و سریعتر باشد.
همچنین برخلاف کش مرورگر، در کش CDN فرقی ندارد که کاربر برای اولینبار وارد سایت میشود یا چندمینبار، یا حتی کش مرورگرش را پاک کرده باشد؛ در هر صورت، نزدیکترین سرور CDN فایل مورد نیاز را در کوتاهترین زمان به او میرساند.
برای مدیریت تنظیمات کش در آبالون، کافی است وارد پنل کاربری شده و از بخش «شبکه توزیع محتوا > تنظیمات Caching» اقدام کنید. در این قسمت میتوانید سطح کش، مدت زمان اعتبار دادهها، حذف فایلهای کش شده، دسترسی دائمی به برخی منابع و تنظیمات مربوط به برنامهنویسی را بررسی و تنظیم کنید.
در ادامه، با امکانات مختلف بخش Caching در آبالون بیشتر آشنا خواهید شد.
سطح عملیات Cache در آبالون

در سرویس CDN آبالون، میتوانید تعیین کنید که فایلها به چه شکلی در حافظه کش ذخیره شوند. برای این کار، سه سطح مختلف برای عملیات Cache در نظر گرفته شده است:
خاموش
در این حالت، هیچ دادهای ذخیره نمیشود و همه درخواستها مستقیماً به سرور اصلی فرستاده میشوند.
بدون در نظر گرفتن Query String
اگر URLهایی با مسیر یکسان ولی Query String متفاوت داشته باشید، فقط یک نسخه از فایل در کش نگهداری میشود و برای همه آنها استفاده میشود. مثلاً اگر فایل زیر قبلاً کش شده باشد:
abalon.cloud/vpc/vpc.svg?x=test
سپس اگر این فایل با Query دیگری مثل
abalon.cloud/vpc/vpc.svg?x=abcd
درخواست شود، همان نسخه کششده ارسال خواهد شد.
با در نظر گرفتن Query String
در این حالت، هر آدرس با Query String متفاوت بهعنوان یک فایل مستقل در نظر گرفته میشود و جداگانه کش خواهد شد. در نتیجه برای هر ترکیب از مسیر و پارامتر، پاسخ جداگانهای ذخیره یا دریافت میشود.
با انتخاب سطح مناسب، میتوانید کش را دقیقتر مطابق نیاز وبسایت خود مدیریت کنید.
در CDN آبالون، حداکثر اندازه قابل کش برای هر فایل، در پلن رایگان، ۱۰۴٬۸۵۷٬۶۰۰ بایت (۱۰۰ مگابایت) است و امکان افزایش این میزان تا ۱۲۸ مگابایت در نظر گرفته شده است. این میزان در پلن استاندارد، ۲۵۶ مگابایت، در پنل پیشرفته ۵۱۲ مگابایت و در پلن سازمانی ۲۰۴۸ مگابایت است.
حذف دادههای کش شده (Cache Purge)
در برخی شرایط، لازم است اطلاعات ذخیرهشده در کش CDN حذف شود. پنل کاربری ابر آبالون دو روش برای انجام این عملیات در اختیار کاربران قرار میدهد:
پاکسازی گزینشی (Selective Purge)

در صورتی که نیاز دارید تنها فایلهای مشخصی از کش حذف شوند، میتوانید با انتخاب گزینه «پاکسازی گزینشی» (Selective Purge)، نشانی دقیق URL هر فایل موردنظر را وارد کرده و بهصورت هدفمند آنها را از کش حذف کنید. این روش برای بهروزرسانی محتوای خاص، بدون تأثیر بر سایر فایلهای کششده، توصیه میشود.
پاکسازی کامل کش (Full Purge)
در صورتی که نیاز دارید تمام دادههای کششده مربوط به یک دامنه حذف شوند، میتوانید از گزینه «پاکسازی کامل کش» استفاده کنید. با انتخاب این گزینه، کلیه فایلهای ذخیرهشده در کش برای دامنه موردنظر بهطور کامل حذف خواهند شد.
انجام این عملیات ممکن است منجر به افزایش موقتی بار روی سرور مبدأ شود، چراکه تمامی درخواستها تا زمان بازسازی کش، مستقیماً به سرور ارسال خواهند شد.
تنظیم مدت زمان اعتبار کش (Cache Expiration Time)

در این بخش میتوانید بازههای زمانی مشخصی برای نگهداری دادهها در کش تعیین کنید. این تنظیمات برای سطوح مختلف کش اعمال میشود و کنترل بیشتری بر نحوه بهروزرسانی محتوای وبسایت در اختیار شما قرار میدهد.
۱. مدت زمان اعتبار اطلاعات کش شده (Cache TTL)
مدت زمانی است که محتوای ذخیرهشده در کش سرورهای لبه (Edge Servers) معتبر باقی میماند. پس از پایان این مدت، فایلها از کش حذف شده و در صورت نیاز، مجدداً از سرور مبدأ دریافت میشوند.
۲. مدت زمان کش صفحات خطا (Error Page Cache TTL)
این گزینه مدت زمانی را مشخص میکند که پاسخهایی با کد وضعیت HTTP متفاوت از 200 (مانند 404 یا 500) در کش باقی بمانند. این تنظیم تنها روی سرورهای لبه CDN اعمال میشود.
۳. مدت زمان کش در مرورگر (Browser Cache TTL)
مدت زمانی است که مرورگر کاربران مجاز است فایلها را در حافظه محلی خود نگه دارد. با استفاده از این گزینه میتوان کنترل بیشتری بر رفتار کش سمت کاربر داشت و از بار اضافی روی سرور مبدأ جلوگیری کرد.
کش صفحات دارای هدر Set-Cookie

این گزینه تعیین میکند که آیا پاسخهای دارای هدر Set-Cookie باید در کش ذخیره شوند یا خیر.
-
در صورت غیرفعال بودن این قابلیت، تمامی پاسخهایی که شامل هدر Set-Cookie باشند، از فرآیند کش شدن مستثنی میشوند.
-
در صورت فعال بودن، این پاسخها نیز مشابه سایر محتواها در کش ذخیره خواهند شد.
فعالسازی این قابلیت ممکن است منجر به کش شدن اطلاعات حساس و کاربرمحور شود. پیشنهاد میشود تنها در صورت آگاهی کامل از پیامدهای امنیتی، از این ویژگی استفاده شود. این تنظیم تنها در پلنهای پیشرفته و سازمانی در دسترس است.
وضعیت برنامهنویسی (Development Mode)

در زمان توسعه یا اعمال تغییرات روی وبسایت، ممکن است نیاز باشد کش بهطور موقت غیرفعال شود تا بتوان تغییرات را بدون تأخیر مشاهده و بررسی کرد.
با فعالسازی «وضعیت برنامهنویسی»، سیستم کش بهصورت موقت غیرفعال میشود و تمامی درخواستها مستقیماً به سرور مبدأ ارسال خواهند شد.
فعالسازی این حالت تنها روی درخواستهای جدید تأثیر میگذارد. اطلاعاتی که پیشتر در کش ذخیره شدهاند، همچنان باقی میمانند و حذف نمیشوند. پس از غیرفعالسازی این گزینه، عملکرد کش به حالت عادی باز خواهد گشت.
دسترسی همیشگی (Always Online)

با فعالسازی قابلیت «دسترسی همیشگی»، شبکه CDN آبالون در صورت بروز اختلال یا از دسترس خارج شدن وبسایت شما، همچنان میتواند درخواستهای کاربران را از طریق دادههای ذخیرهشده در کش پاسخ دهد.
در زمان عدم دسترسی به سرور مبدأ، امکان کش شدن محتوای جدید وجود نخواهد داشت. بنابراین توصیه میشود پیش از وقوع اختلال، با تنظیم دقیق قوانین کش صفحات، مشخص کنید کدام محتوا باید در کش ذخیره شود تا در صورت نیاز، در دسترس کاربران باقی بماند.
پسوندهای پیشفرض قابل کش در CDN آبالون
-
7Z
-
APK
-
AVIF
-
AVI
-
BIN
-
BMP
-
BZ2
-
CLASS
-
CSS
-
CSV
-
DMG
-
DOC
-
DOCX
-
EJS
-
EOT
-
EPS
-
EXE
-
FLAC
-
GIF
-
GZ
-
ICO
-
ISO
-
JAR
-
JPEG
-
JPG
-
JS
-
MID
-
MIDI
-
MKV
-
MP3
-
MP4
-
OGG
-
OTF
-
PDF
-
PICT
-
PLZ
-
PNG
-
PPT
-
PPTX
-
PS
-
RAR
-
SVG
-
SVGZ
-
SWF
-
TAR
-
TIF
-
TIFF
-
TTF
-
WEBM
-
WEBP
-
WOFF
-
WOFF2
-
XLS
-
XLSX
-
ZIP
-
ZST