Badursun

Windows Sunucularda Optimum web.config Ayarları

Windows sunucularda 404 yapısını kullanmak ve bunun haricinde kontrol panellerinden ulaşamadığınız bir takım ayarları yapmak için web.config dosyası kullanırız.

Hemen hemen her ASP ve ASP.NET uygulaması WEB Config dosyasını barındırır. Web.config dosyası aslında bir XML dosyasıdır ve içinde çeşitli yapılandırma ayarlarını barındırır. Örneğin bir web uygulamasının debaug modda çalışabilmesi için ayarları değiştirebilme gibi bir özelliği web.config compilation ayarları kısmındanm debug=true diyerek ayarlayabiliriz. Bunun gibi ayarların dışında web.config dosyası bir takım özel bilgilerde saklayabilir.

Yıllarca geliştirme yaptığım sistemlerde deneme yanılma yöntemi ile kendime bir takım kütüphaneler ve bilgi havuzları oluşturdum. Blogumda ise bunları sizlerle paylaşıyorum. Çünkü 10 yılı aşkın süredir bende gizli kalan bu kütüphanenin artık ihtiyaç duyan herkese ulaşmasını istiyorum. İşte benim en performanslı web.config ayarlarım aşağıdaki gibidir.

İçerisinde 404 yapısı ile ilgili ayarlar, access-control ayarları, browser cache leverage için cache ayarları, gzip için sıkıştırma ayarları gibi bir çok parametre bulunmaktadır.

Optimum web.config Ayarları Şöyledir;

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <sessionState mode="InProc" timeout ="60" cookieless="false"></sessionState>
    </system.web>

    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>

        <httpErrors errorMode="DetailedLocalOnly">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" prefixLanguageFilePath="" path="/404.asp" responseMode="ExecuteURL" />
        </httpErrors>

		<httpCompression
			  directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
		   <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
		   <dynamicTypes>
			  <add mimeType="text/*" enabled="true" />
			  <add mimeType="message/*" enabled="true" />
			  <add mimeType="application/javascript" enabled="true" />
			  <add mimeType="*/*" enabled="false" />
		   </dynamicTypes>
		   <staticTypes>
			  <add mimeType="text/*" enabled="true" />
			  <add mimeType="message/*" enabled="true" />
			  <add mimeType="application/javascript" enabled="true" />
			  <add mimeType="*/*" enabled="false" />
		   </staticTypeas>
		</httpCompression>
		
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="8.00:00:00" />
        </staticContent>
        <caching>
            <profiles>
                <add extension=".jpg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
                <add extension=".jpeg" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
                <add extension=".png" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
                <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
                <add extension=".css" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
            </profiles>
        </caching>
        <urlCompression doDynamicCompression="true" />
    </system.webServer>
</configuration>

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.