- مستندات
- شبکه توزیع محتوا
- تنظیم رفتار کش (Cache)
تنظیم رفتار کش (Cache)
پس از وارد کردن مسیر مورد نظر، میتوانید به تب مربوط به cache رفته و رفتار cache را پیکربندی کنید.
ابتدا برای هرمسیر باید «نوع Cache» مشخص شود، «نوع Cache» در اینجا تعیینکنندهی رفتار کش است. در این قسمت میتوانید یکی از سه سطح «استاندارد»، «Bypass» و یا «نادیده گرفتن Query String» را انتخاب کنید. نوع پیشفرض، «استاندارد» است.
ابتدا لازم است که با مفهوم «Query String» آشنا شوید.
Query String
یک Query String قسمتی از یک URL است، که مقادیر را به پارامترها اختصاص میدهد. Query String معمولا شامل فیلدهایی است که به یک URL پایه اضافه میشود. برای مثال در URL زیر، Query String بهصورت Bold مشخص شده است.
http://example.com/over/there?name=ferret
همانطور که قبلا نیز گفته شد برای هر مسیر باید نوع کش مشخص شود. نوع کش در واقع تعیینکنندهی رفتار کش است. در پیکربندی CDN ستون شما میتوانید از بین سه نوع کش که در نظر گرفته شده است انتخاب کنید. در ادامه به تعریف هریک از این سه نوع میپردازیم.
استاندارد (Standard): در این حالت، لینک با در نظر گرفتن قسمت Query String کش میشود. به این معنی است که دو لینک زیر با یکدیگر متفاوت در نظر گرفته شده و جداگانه کش خواهند شد.
http://example.com/over/there
http://example.com/over/there?name=ferret
نادیده گرفتن Query String: مانند حالت قبل با این تفاوت که Query String در کش کردن لینک لحاظ نمیشود. به این معنی که دو لینک زیر با یکدیگر متفاوت نبوده و در ریکوئستهای حاوی دو URL زیر Query String نادیده گرفته میشود.
http://example.com/over/there
http://example.com/over/there?name=ferret
Bypass: در این حالت لینکهای مربوط به این Location در کش ذخیره نمیشود و مستقیما به سرور مبدا مرتبط هدایت میشوند.
در قسمت بعدی لازم است تا تنظیمات مربوط به Upstream TTL را پیکربندی کنید.
برای تنظیم کش، در صورتی که گزینهی «نادیده گرفتن Upstream TTL» را فعال کرده باشید، میتوانید تنظیمات را در پنل ستون پیکربندی کنید. درغیر این صورت تنظیمات کش از روی هدر Cache-Control که در پاسخ سرور اصلی شما قرار دارد، اعمال میشود. در این قسمت میتوانید موارد زیر را تنظیم کنید:
ویژگی immutable: در صورت فعال بودن این ویژگی، پاسخ ارسال شده دیگر تغییری نخواهد کرد. یعنی اگر اطلاعات روی سرور مبدا منقضی نشده باشند، سرور همان پاسخ قبلی را بدون تغییر نمایش می دهد. پس حتی اگر کاربران، صفحه را بهروزرسانی کنند دیگر نیازی به ارسال درخواست برای کنترل تغییرات یا بهروزرسانیها از سمت کلاینت وجود ندارد. با فعال کردن این گزینه میتوانید ویژگی immutabale را به هدر cache-control اضافه کنید. این ویژگی به طور پیشفرض غیرفعال است. در صورت نیاز به فعالسازی آن باید این گزینه را انتخاب کنید.
مدت زمان کش در کلاینت یا Browser TTL: این عدد مقدار زمانی که درخواست در سمت مرورگر (و یا هر کلاینت دیگری) باید کش شود را برحسب دقیقه مشخص میکند.
مدت زمان کش در سرور CDN یا EdgeTTL: این عدد مقدار زمانی که درخواست در سرورهای CDN ابر کافهبازار ذخیره میشود را برحسب دقیقه، مشخص میکند.
مدت زمان کش درخواستهای ناموفق یا Non-Success TTL: این عدد تعداد دقایقی که میتوان درخواستهایی که منجر به پاسخ 4xx از سرور اصلی شدهاند، کش کرد را مشخص میکند.
مدت زمان کش درخواستهای منقضی شده یا Stale TTL: این عدد تعداد دقایقی را که میتوان پس از منقضی شدن کش، کماکان پاسخهای منقضی شده را به کاربر بازگرداند، تنظیم کند.
کش خصوصی یا Private: توجه داشته باشید که در صورت فعال بودن این گزینه، سرور CDN چیزی را کش نمیکند، ولی میتوان BrowserTTL را برای کش کلاینت تنظیم کرد. این مورد برای کش کردن دادههای مخصوص کاربر استفاده میشود.