Output caching چیست؟
Output caching قابلیتی در IIS است که با استفاده از ان می توان محتوای صفحات DYNAMIC مانند PHP و ASP را در سرویس ذخیره یا کش کنیم.
این قابلیت باعث بهبود عملکرد سایت و تسریع زمان لود سایت می گردد، چراکه اسکریپت هایی که این صفحات را ایجاد می نیاز به ایجاد مجدد برای هربار لود صفحات نخواهند داشت.
محتوای صفحات وب به دو بخش تقسیم می شود :
- صفحات با محتوای ایستا : (static content )
محتوای این نوع صفحات ثابت می باشد. و با درخواست های متفاوت، محتوای متفاوتی نمایش نمی دهد. در واقع اطلاعات صفحاتی که به مرورگر ارسال می شود همواره ثابت است . صفحات HTML نمونه ای از این نوع صفحات می باشند .
- صفحات با محتوای متغیر :dynamic content ))
این صفحات محتوای متغیر داشته و با هربار درخواست کاربر ، این صفحات تغییر خواهند کرد. صفحات php و asp نمونه ای از این نوع صفحات می باشند.
اما یک رنج بزرگ بین این دو نوع صفحه وجود دارد که محتوای نیمه داینامیک نام دارند. یک صفحه ی داینامیک asp.net را در نظر بگیرید که با هر بار لود صفحه، نیاز به اکسکیوت یک کوئری در دیتابیس می باشد. در صورتی که این محتوا هر بار تغییر نمی کند، هیچ دلیلی وجود ندارد که صفحه این کوئری را هر بار اکسکیوت نماید این صفحات، نیمه داینامیک می باشند. و IIS output caching نیز محتوای صفحات نیمه داینامیک را مورد هدف قرار می دهد و به کاربر کمک می کند بخش های استاتیک این صفحات را در کش ذخیره نماید.
در نظر داشته باشید که output caching برای تمام صفحات با محتوای متغیر مناسب نمی باشد . به عنوان مثال سایت های فروشگاهی نباید از output caching استفاده کنند به این دلیل که این سایت ها همه روزه محتوای صفحات خود را به روز می کنند.
بهترین گزینه برای output caching صفحاتی هستند که دیتا را به صورت متغیر تولید می کنند اما هربار و با هر در خواست تغییر نکند مانند وبسایت های که در ان ها تغییر سایز عکس صورت می گیرد .با استفاده از output caching این امکان ایجاد می گردد که سرور هربار عملیات تغییر سایز عکس را انجام ندهد. در این صفحات ممکن است که هرباره عکس و تصویر مورد نظر تغییر کند اما فرایند تغییر سایز یکسان خواهد بود.
انواع کش در IIS :
- کش برا اساس QUERY STRING که در ان URL ثابت است اما QUERY STRING متفاوت است .
- کش بر اساس HEDEARS که در ان عملیات کش بر اساس هدر های HTML ی که از سمت کاربر به سرور ارسال می شود انجام می شود.
پیکربندی OUTPUT CACHING در محیط IIS :
- در قسمت start ویندوز خود کلمه ی IIS را جستجو نمایید و برروی ان کلیک نمایید .
- در قسمت چپ تصویر وبسایت مورد نظر را پیدا کنید و برروی ان کلیک نمایید.
- در صفحه ی ظاهر شده OUTPUT CACHING را انتخاب نمایید.
- در ستون سمت راست برروی ACTION MENU کلیک نماید در این قسمت می توانید RULE مربوط به OUTPUT CACHING را تعریف نمایید.
- در فیلد EXTENSION نوع متغیر را مشخص می کنید به فرض مثال در این قسمت .php قرار می دهیم و ان را در حالت USER MODE CACHING قرار می دهیم.
- ADVANCE را کلیک نماید ان را در حالت QUERY STRING VARIABLE قرار دهید.
پیکربندی OUTPUT CACHING در فایل WEB.CONFIG :
برای پیکربندی OUTPUT CACHING در WEB.CONFIG باید کد زیر را بین تگ<configuration > و </configuration > قرار بدهید.
<configuration>
<location path="showStockPrice.asp">
<system.webserver>
<caching>
<profiles>
<add varybyquerystring="*"location="Any"
duration="00:00:01" policy="CacheForTimePeriod"
extension=".asp">
</profiles>
</caching>
</system.webserver>
</location>
</configuration>