تنظیمات و سطوح عملیات Caching
اطلاعات وب سایت شما داخل ابر آروان تا مدت زمان مشخصی نگهداری می شود. بهاینترتیب تمامی درخواستهایی که از سوی کاربران به سمت سرور شما ارسال میشوند توسط ابر آروان پاسخ داده میشوند. در نتیجهی این فرآیند پهنای باند مصرفی شما و همچنین فشار وارده روی سرورهایتان بسیار کاهش پیدا میکند و در نتیجه فارغ از ویژگیهای دیگری چون حفظ امنیت و ارتقای سرعت و بازدهی، در هزینههای شما بهشکل چشمگیری صرفهجویی میشود. در این مقاله توضیحات فنی بیشتری برای آشنایی با مفاهیم caching ارایه شده است.
سطح عملیات Caching
بهشکل کلی میتوان مشخص کرد که چگونه و چه فایلهایی در ابر آروان ذخیره شوند. برای این کار 4 سطح مختلف را میتوان مشخص کرد.
خاموش
در این حالت ابر آروان تنها عبور دهندهی فایلهای شماست و وظایفی چون بهبود و بازنویسی دادهها و همچنین حفظ امنیت سایت شما را برعهده خواهد داشت، بدون اینکه تلاشی برای نگهداری دادهها انجام دهد. این گزینه به هیج وجه توصیه نمیشود.
چشمپوشی از QueryString
در این حالت اطلاعات داخل Query String فاقد هرگونه اعتبار و از لحاظ کردن آنها چشمپوشی میشود. برای نمونه اگر در سایت شما آدرسهایی مانند http://arvancloud.com/news.php?id=10 وجود دارد، این روش برای شما مناسب نخواهد بود، چون در تمام درخواستها تنها آدرس http://arvancloud.com/test.php در نظر گرفته شده و در نتیجه دادههای متفاوت بهشکل یکسان ذخیره میشوند. بسیاری از برنامهنویسان وب به کمک بازنویسی URL تنها اطلاعاتی را که در خروجی تاثیری ندارند به کاربر نمایش میدهند. برای این دسته از وب سایتها این روش میتواند بسیار مفید باشد. به طور مثال در نظر بگیرید که در مثل بالا از این آدرس استفاده شود: http://arvancloud.com/news/10/
لحاظ کردن QueryString
این حالت مطمینترین روش و حالت توصیه شده بهوسیلهی ابر آروان است. در این حالت کلیهی اطلاعات موجود در URL جهت ذخیرهی اطلاعات در ابر آروان در نظر گرفته خواهند شد. حتی در مواردی که اطلاعات، با توجه به کاربران مختلف نمایش داده میشوند، میتوان نام کاربر و یا کد کاربری او را در URL لحاظ کرد. برای نمونه: http://arvancloud.com/users/100/news.php http://arvancloud.com/news.php?news_id=10&user_id=100
لحاظ کردن QueryString+Cookie
حالت پیشرفته، یک ویژگی منحصر به فرد و فوق العاده برای سایتهای سازمانی است. در این حالت اطلاعات داخل Cookie نیز، جهت ذخیره نسخههای متفاوتی از اطلاعات، لحاظ میشوند. برای نمونه، به جای آنکه نام کاربر و یا کد کاربری در URL لحاظ شود، میتواند در یک متغیر در کوکی کاربر به هر اسمی (به طور مثال USER_ID) دخیره شود. با مشخص کردن نام این متغیر، ابر آروان قادر به تشخیص و نگهداشت نسخههای مختلفی از اطلاعات به کمک آن خواهد بود. در روشهایی که نسخههای مختلفی از اطلاعات برای کاربران مختلف نگهداری میشود، باید توجه داشت که حجم زیادی برای نگهداری این اطلاعات در ابر آروان اختصاص داده خواهد شد.
مدت زمان اعتبار اطلاعات کش شده
HTTP Headerهای Cache-Control جهت اطلاع سرورهای میانه و در راستای اعتبار بخشی جهت ذخیرهسازی فایلها طراحی شدهاند. مهمترین attribute در این قسمت max-ages است که مشخص میکند این فایل تا چه مدت معتبر است. ابر آروان بهشکل پیشفرض به اطلاعات ارسال شده بهوسیلهی وبسایت شما احترام میگذارد. اما میتوانید بهراحتی این اجازه را به ابر آروان بدهید تا این مقادیر را بازنویسی و فایلها را برای مدت متفاوتی در ابر خود ذخیره کند.
کش شدن اطلاعات در مرورگر
اطلاعات وب سایت شما در مرورگر کاربران نیز cache میشوند. مدت زمان اعتبار فایلها جهت نگهداری در کش مرورگرها در HTTP Header مربوط به آن، یعنی expires مشخص میشود. در این مورد نیز ابر آروان بهشکل پیشفرض به اطلاعات وارد شده بهوسیلهی وبسایت شما احترام میگذارد اما امکان تغییر آن را نیز برای شما فراهم کرده است.
دسترسی همیشگی
هنگامی که سایت شما به هر دلیلی به وضعیت آفلاین برود و یا سرور شما در دسترس نباشد، در حالت عادی کاربران دیگر قادر به مشاهده سایت شما نخواهند بود. قابلیت دسترسی همیشگی یک نسخه از آخرین زمانی که سایت شما در دسترس است و در وضعیت آنلاین و پایدار قرار دارد، در ابر آروان نگهداری میکند و هنگامی که سایت شما به هر دلیلی به وضعیت آفلاین برود و یا از دسترس خارج شود، آخرین نسخه از محتوای سایت شما را حتا در هنگام در دسترس نبودن سایت، به کاربران نمایش میدهد.
در این هنگام پیغامی در بالای صفحه برای کاربران نمایش داده میشود که بیانگر استفاده از این قابلیت است و کاربران از در دسترس نبودن سرور اصلی و دریافت تمامی اطلاعات از آخرین نسخهی ذخیره شده در ابر آروان مطلع میشوند. بلافاصله هنگامی که سرور اصلی به وضعیت پایدار خود برگردد و در دسترس باشد، ابر آروان ترافیک را بهشکل لحظهای و آنلاین سایت هدایت می کند.
اگر این قابلیت غیرفعال باشد و ابر آروان اطلاعاتی در خصوص سایتی که از دسترس خارج شده، نداشته باشد، پیغامی مبنی بر Offline بودن سایت مورد نظر و وجود نداشتن Cache برای آن سایت به کاربران نمایش میدهد.
وضعیت برنامهنویسی
هنگامی که برنامهنویسان در حال تغییر دادهها و اطلاعاتی مانند تصاویر، کدهای جاوا اسکریپت و یا CSS سایت خود هستند، با فعال کردن این حالت می توانند، خیلی سریع تغییرات اعمال شده را مشاهده کنند. زیرا با فعال کردن حالت برنامهنویسی جهت سهولت کار برنامهنویسان در جهت دیدن این تغییرات، از کش شدن اطلاعات جلوگیری میشود و از سوی دیگر تنظیمات افزایش بازدهی نیز غیرفعال میشوند.
چه محتوایی در CDN کش میشود
- برای درخواستهایی که بهشکل مشخص در تنظیمات گفته شده است کش نشوند یا محتوایی باشد که بهشکل پیشفرض کش نمیشوند، هدر AR-CACHE مقدار BYPASS را نشان میدهد.
- برای محتوایی که روی CDN کش شده است، هدر AR-CACHE مقدار HIT دارد.
- برای محتوایی که باید کش شود ولی بهدلیل اتمام زمان کش شدن روی CDN موجود نیست، هدر AR-CACHE مقدار MISS دارد.
- برای بررسی اینکه بهشکل پیشفرض چه محتوایی باید کش شود به پسوند (Extension) فایل نگاه میکنیم و نه Content Type. به عنوان مثال فایل https://example.com/css-file با mime type: text/css بهشکل پیشفرض کش نمیشود، ولی فایل https://example.com/html-file.css روی CDN کش میشود حتی اگر mime type: text/html باشد.
برای کش کردن فایلهایی بدون پسوند، میتوان از قوانین صفحات در پنل CDN استفاده کرد.
لیست فایلهایی که بهشکل پیشفرض روی CDN کش میشوند:
ttf | ps | jpeg | ejs | bmp | |
webp | svg | pict | jpg | eot | class |
woff | svgz | pls | js | eps | css |
woff2 | swf | png | mid | gif | csv |
xls | tif | ppt | midi | ico | doc |
xlsx | tiff | pptx | otf | jar | docx |
flv | 3gpp | 3gp | mpg | mpeg | mp4 |
mp3 | asf | mov | avi | wmv | m4v |
txt | axd | m4a | asx | webm | ogg |
deb | rpm | apk | epub | rtf |