Deflate metoduyla http kompres ekleme
En meşhur http kompres yani sıkıştırma metodu bildiğiniz gibi gzip. Ancak deflate methodu daha çok sıkıştırma yapabiliyor ve daha performanslı çalışabiliyor. Konu hakkında aşağıdaki makaleyi okuyabilirsiniz.
http://www.stardeveloper.com/articles/display.html?article=2008111201&page=1
Sitenize deflate kompres eklemek için global.asax dosyanıza (sitenizde yoksa ekleyin) aşağıdaki kodları ekleyin. Böylece ziyaretçinin browser’ı deflate methodunu kabul ediyorsa deflate, etmiyorsa gzip, onu da kabul etmiyorsa kompres etmeden sunucunuzdan gönderim yapılacaktır.
<%@ Application Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.IO.Compression" %> <script runat="server"> void Application_PreRequestHandlerExecute(object sender, EventArgs e) { HttpApplication app = sender as HttpApplication; string acceptEncoding = app.Request.Headers["Accept-Encoding"]; Stream prevUncompressedStream = app.Response.Filter; if (!(app.Context.CurrentHandler is Page || app.Context.CurrentHandler.GetType().Name == "SyncSessionlessHandler") || app.Request["HTTP_X_MICROSOFTAJAX"] != null) return; if (acceptEncoding == null || acceptEncoding.Length == 0) return; acceptEncoding = acceptEncoding.ToLower(); if (acceptEncoding.Contains("deflate") || acceptEncoding == "*") { // deflate app.Response.Filter = new DeflateStream(prevUncompressedStream, CompressionMode.Compress); app.Response.AppendHeader("Content-Encoding", "deflate"); } else if (acceptEncoding.Contains("gzip")) { // gzip app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress); app.Response.AppendHeader("Content-Encoding", "gzip"); } } </script>
Recommended Posts
Showing 5 comments
Elinize sağlık, öncelikle. WordPress’ de işe yarar mı bu kodlar acaba?
Bunlar ASP.NET siteleri için. wordpress sitesi için gzippy eklentisi mevcut. yada cpanelden sıkıştırma modunu etkinleştirebilirsiniz.
abi tamamda global asaxa mı yazıyoruz bunu
Makaleyi okursanız zaten Global.Asax’a diye yazıyor.
Klasik ASP için çalışan bir kod bulamadım bir türlü.. Klasik asp’ye uyarlanamaz bu kodlar dimi?