Yet Another IT Blog
nemoluca about IT

Как включить компрессию Gzip через Global.asax

понедельник, 6 апреля 2009 17:29 by nemoluca

Практически все разумные браузеры поддерживают GZIP, даже IE6, поэтому включайте и наслаждайтесь увеличением быстроты реакции сайта при загрузке


<%@ Application Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.IO.Compression" %>
<script runat="server">
void Application_BeginRequest(object sender, EventArgs e)
{
    HttpApplication app = (HttpApplication)sender;  
    string acceptEncoding = app.Request.Headers["Accept-Encoding"];  
    Stream prevUncompressedStream = app.Response.Filter;  
    if (acceptEncoding == null || acceptEncoding.Length == 0)   return;  
    acceptEncoding = acceptEncoding.ToLower();  
    if (acceptEncoding.Contains("gzip"))   {   // gzip  
        app.Response.Filter = new GZipStream(   prevUncompressedStream,   CompressionMode.Compress);    
        app.Response.AppendHeader("Content-Encoding",   "gzip");   }  
    else if (acceptEncoding.Contains("deflate"))   {   // deflate  
        app.Response.Filter = new DeflateStream(   prevUncompressedStream,   CompressionMode.Compress);  
        app.Response.AppendHeader("Content-Encoding",   "deflate");    
    } 
}

Комментарии

июня 4. 2010 17:09

Darren

А зачем вообще требуется включать эту самую компрессию?

Darren

июня 20. 2010 14:17

nemoluca

я же написал в посте:
и наслаждайтесь увеличением быстроты реакции сайта при загрузке

nemoluca

Добавить комментарий


(Отображает Gravatar)

  Country flag

biuquote
  • Комментарий
  • Предпросмотр
Loading