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

by nemoluca 7. апреля 2009 04:29

Практически все разумные браузеры поддерживают 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");    
    } 
}

Tags: , ,

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

  Country flag

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

Page List

    Яндекс цитирования