تنظیمات Output caching در iis

Output caching چیست؟
 
Output caching   قابلیتی در IIS  است که با استفاده از ان می توان محتوای صفحات DYNAMIC  مانند PHP  و ASP  را در سرویس ذخیره یا کش کنیم.
 
این قابلیت باعث بهبود عملکرد سایت و تسریع زمان لود سایت می گردد، چراکه اسکریپت هایی که این صفحات را ایجاد می نیاز به ایجاد مجدد برای هربار لود صفحات نخواهند داشت.
 
محتوای صفحات وب به دو بخش تقسیم می شود :
  1. صفحات با محتوای ایستا : (static content )
محتوای این نوع صفحات ثابت می باشد. و با درخواست های متفاوت، محتوای متفاوتی نمایش نمی دهد. در واقع اطلاعات صفحاتی که به مرورگر ارسال می شود همواره ثابت است . صفحات HTML  نمونه ای از این نوع صفحات می باشند .
 
 
  1. صفحات با محتوای متغیر :dynamic content ))
این صفحات محتوای متغیر داشته و با هربار درخواست کاربر ، این صفحات تغییر خواهند کرد. صفحات php و asp نمونه ای از این نوع صفحات می باشند.
اما یک رنج بزرگ بین این دو نوع صفحه وجود دارد که محتوای نیمه داینامیک نام دارند. یک صفحه ی داینامیک asp.net را در نظر بگیرید که با هر بار لود صفحه، نیاز به اکسکیوت یک کوئری در دیتابیس می باشد. در صورتی که این محتوا هر بار تغییر نمی کند، هیچ دلیلی وجود ندارد که صفحه این کوئری را هر بار اکسکیوت نماید  این صفحات، نیمه داینامیک می باشند.  و IIS output caching نیز محتوای صفحات نیمه داینامیک را مورد هدف قرار می دهد و به کاربر کمک می کند بخش های استاتیک این صفحات را در کش ذخیره نماید.
 
در نظر داشته باشید که output caching  برای تمام صفحات با محتوای متغیر مناسب نمی باشد . به عنوان مثال سایت های فروشگاهی نباید از output caching استفاده کنند به این دلیل که این سایت ها همه روزه محتوای صفحات خود را به روز می کنند.
 
بهترین گزینه  برای output caching  صفحاتی هستند که دیتا را به صورت متغیر تولید می کنند اما هربار و با هر در خواست تغییر نکند مانند وبسایت های که در ان ها تغییر سایز عکس صورت می گیرد .با استفاده از output caching  این امکان ایجاد می گردد که سرور هربار عملیات تغییر سایز عکس را انجام ندهد. در این صفحات ممکن است که هرباره عکس و تصویر مورد نظر تغییر کند اما فرایند تغییر سایز یکسان خواهد بود.
 
انواع کش در IIS  :
  1. کش برا اساس QUERY STRING  که در ان URL  ثابت است اما QUERY STRING  متفاوت است .
  2. کش بر اساس HEDEARS   که در ان عملیات کش بر اساس هدر های HTML  ی که از سمت کاربر به سرور ارسال می شود انجام می شود.
 
پیکربندی OUTPUT CACHING  در محیط IIS  :
  1. در قسمت start  ویندوز خود کلمه ی IIS  را جستجو نمایید و برروی ان کلیک نمایید .
  2. در قسمت چپ تصویر وبسایت مورد نظر را پیدا کنید و برروی ان کلیک نمایید.
  3. در صفحه ی ظاهر شده OUTPUT CACHING  را انتخاب نمایید.
  4. در ستون سمت راست برروی ACTION MENU  کلیک نماید در این قسمت می توانید RULE مربوط به OUTPUT CACHING  را تعریف نمایید.
  5. در فیلد EXTENSION  نوع متغیر را مشخص می کنید به فرض مثال در این قسمت .php  قرار می دهیم و ان را در حالت USER MODE CACHING  قرار می دهیم.
  6. 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>