سرفصل های مهم
تنظیمات کشینگ
برای افزایش سرعت سایت شما، میزبان کلود نسخه ای کپی از محتوای استاتیک سایت تان را روی سرورهای توزیع یافته در معتبرترین دیتاسنترها ذخیره می کند. محتوا می تواند استاتیک و یا داینامیک باشد؛ محتوای استاتیک قابل کش است اما محتوای داینامیک قابلیت کش شدن ندارد.
نسخه های کش شده ی محتوا از لحاظ فیزیکی در محلی نزدیک تر به کاربر نهایی ذخیره شده، برای سرعت بالاتر بهینه شده و به پردازش مجدد نیاز ندارند.
برای کش کردن محتوا روی سرورهای CDN از این فاکتورها استفاده می شود:
- سطوح کش (Cache level) در یک zone یا قانون صفحه (Page rule)
- هدرهای Cache-control اصلی
- هدرهای اصلی (Origin) که به محتوای داینامیک اشاره دارند
- پسوند فایل (File extension)
- وجود کوئری استرینگ
- قوانین صفحات که کش را از کوکی عبور می دهند
در این شرایط اگر کاربری اطلاعاتی را درخواست کند در منابع سرورهای CDN موجود نباشند، آن درخواست به سرور اصلی ارجاع داده شده و پس از ذخیره پاسخ (Response)، در دفعات بعد درخواست کاربر از روی سرورهای CDN پاسخ داده خواهند شد.
اگر این اطلاعات از روی سرورهای CDN پاسخ داده شوند، در response headers وضعیت HIT و در صورتی که از سرور اصلی پاسخ داده شوند، وضعیت Miss نمایش داده خواهد شد. به همین شکل، اگر منابع در سرورهای میزبان کلود یافت شده اما به دلیل منقضی شدن اطلاعات از سرور اصلی دریافت شوند، وضعیت Expired نمایش داده می شود.
سطوح کشینگ (Caching level)
سطوح کش بیانگر این هستند که چه میزان از محتوای استاتیک سایت شما باید توسط میزبان کلود کش شود. CDN میزبان کلود محتوای استاتیک را بر مبنای سطوح زیر کش می کند:
- بدون کوئری استرینگ: در این سطح، کوئری استرینگ آدرس ها نادیده گرفته شده و منابع یکسانی از کش را به کاربران نمایش خواهد داد.
- با کوئری استرینگ: در این سطح، با توجه به کوئری استرینگ دریافتی، محتوای کش متفاوتی نمایش داده خواهد شد.
- استاندارد: در این سطح، علاوه بر کوئری استرینگ ها، کوکی ها نیز در نظر گرفته خواهند شد.
برای مثال در صورتی که سطح "بدون کوئری استرینگ" فعال باشد، در هر دو حالت زیر یک نوع محتوای کش برای کاربر ارسال خواهد شد:
1/yourwebsite.com/pic.jpg?x=123
2/yourwebsite.com/pic.jpg?x=456
مدت زمان اعتبار کش
در تنظیمات کشینگ CDN میزبان کلود، می توانید برای نگه داشتن کش در مرورگر و در سرورهای CDN مدت زمان اعتبار تعیین کنید. برای مثال اگر مدت زمان اعتبار اطلاعات Cache شده را روی 1 دقیقه قرار دهید، پس از گذشت 1 دقیقه، اطلاعات از کش پاک خواهند شد.
دقیقا به همین ترتیب، برای مرورگر کاربر نیز می توانید تعیین کنید که تا چه زمان اطلاعات را در کش نگه دارد.
مدت زمان اعتبار کش در شبکه توزیع محتوا (Edge Cache TTL) در هدرهای Response قابل رویت نمی باشد. ولی در خصوص Browser Cache TTL میزبان کلود مدت زمان اعتبار کش را در هدرهای Cache-control و Expires برای مرورگر ارسال می کند.
حداقل TTL نیز به پلان انتخابی شما بستگی دارد. برای مثال حداقل مدتزمان کش در پلان رایگان CDN میزبان کلود، 60 دقیقه می باشد، اما در پلان سازمانی می توانید آن را تا 1 ثانیه کاهش دهید.
پاک کردن کش
ممکن است به هر دلیل بخواهید محتوای کش شده را پاک کنید تا نسخه ویرایش شده (آپدیت جدید) مجددا کش شود. به همین دلیل میزبان کلود برای شما این قابلیت را فراهم کرده تا بتوانید کش یک صفحه خاص را پاک کنید. برای مثال ممکن است در یک کمپین، محصولات صفحه لندینگ را در ساعات مختلف تغییر دهید؛ در این صورت برای جلوگیری از نمایش نسخه های قدیمی صفحه توسط کش، باید کش آن صفحه را پاک کنید تا اطلاعات جدید مجدداً کش شوند. برای اینکار کافیست گزینه کش گزینشی را انتخاب و آدرس صفحه مورد نظر را وارد کنید:
علاوه بر این در صورت نیاز می توانید تمام نسخه های کش را یکجا پاک کنید. برای این کار بر روی دکمه "پاک کردن کل کش" کلیک کنید.
توصیه می کنیم برای حفظ عملکرد بهتر سایت، ترجیحا کش یک آدرس خاص را پاک کنید؛ چراکه در صورت پاک کردن کل کش، ممکن است سایت شما تا کش مجدد تمام محتوا، با کندی مواجه شود.
دو ویژگی "همیشه در دسترس" و "حالت برنامه نویسی"
گاهی اوقات ممکن است سرور اصلی شما به دلایل مختلفی از دسترس خارج شود (برای مثال مشکلی در دیتاسنتر)؛ در صورتی که گزینه همیشه در دسترس را فعال کرده باشید، محتوا و پاسخ های از قبل کش شده، توسط سرورهای CDN به درخواست های کاربران ارسال خواهند شد.
این روند تا زمانی ادامه خواهد داشت که سرور اصلی شما مجدداً در دسترس بوده و به مدار باز گردد.
برای فعالسازی این گزینه کافیست حالت "همیشه در دسترس" را در تنظیمات کشینگ فعال کنید.
گزینه کاربردی دیگر "حالت برنامه نویسی کش" است که به توسعه دهندگان این امکان را می دهد تا در زمان ویرایش صفحات و مشاهده لحظه ای تغییرات، بتوانند کشینگ محتوای استاتیک و داینامیک را برای مدت کوتاهی غیر فعال کنند. سپس با غیر فعالسازی این گزینه مجدداً طبق روال قبل، درخواست ها از نسخه های کش پاسخ داده خواهند شد.
برای فعالسازی این ویژگی کافیست "حالت برنامه نویسی کش" را فعال کنید.
رفتار پیش فرض کشینگ
CDN میزبان کلود تا زمان بازنویسی هدر توسط قوانین صفحه Edge Cache TTL مطابق با ترتیب زیر هدرهای کش سرور اصلی را در نظر می گیرد؛ به طوری که:
با شرایط زیر، منابع را کش نمی کند:
- هدر Cache-control با این مقادیر ست شده باشد: private, no-store, no-cache یا max-age=0.
- هدر set-cookie وجود داشته باشد.
با شرایط زیر، منابع را کش می کند:
- هدر Cache-control با این مقادیر ست شده باشد: public، و max-age>0
- هدر expires ، زمانی در آینده را مشخص کرده باشد.
علاوه بر این، در صورتی که در page rule یا قوانین صفحات، قانون محدودکننده ای تنظیم نکرده باشید، CDN میزبان کلود به طور پیش فرض فایل با پسوندهای زیر را کش خواهد کرد:
ZIP | JPG | PNG | CSV | 7Z |
PPT | MKV | AVI | DOC | GIF |
MP3 | EOT | DOCX | AVIF | TIF |
ISO | ICO | APK | WEBM | MP4 |
JS | XLS | WOFF | WEBP | |
CLASS | EXE | SVG | RAR | SWF |
GZ | BIN | PS | BMP | CSS |
OGG | XLSX | PLS | FLAC | MID |
راهنمای استفاده از محصولات
- شبکه توزیع محتوا CDN
- سرور ابری (Cloud Server)