网页压缩-网页程序压缩

作者:vkvi 来源:ITPOW(原创) 日期:2008-8-26

这里的网页程序压缩是指直接利用诸如 ASP.NET、JSP 等这样的网页程序压缩输出流,而不是通过诸如 IIS、Apache、Tomcat 这样的 Web 服务软件来压缩的。它的缺点是每个网页都要加上一段代码,它的优点是即使主机商不支持网页压缩,我们也可以实现。

以下是 ASP.NET 中一段代码,加在 Page_Load 中后,该网页输出时就变成压缩后的。

GZipStream 和 DeflateStream 的名称空间是:

System.IO.Compression

 

string acceptEncoding = Request.Headers.Get("Accept-Encoding");
if (acceptEncoding != null)
{
    acceptEncoding = acceptEncoding.ToLower();
    //浏览器 gzip 和 deflate 同时支持时,gzip 优先。
    if (acceptEncoding.Contains("gzip"))
    {
        Response.Filter = new GZipStream(Response.Filter, CompressionMode.Compress);
        Response.AppendHeader("Content-Encoding", "gzip");
    }
    else if (acceptEncoding.Contains("deflate"))
    {
        Response.Filter = new DeflateStream(Response.Filter, CompressionMode.Compress);
        Response.AppendHeader("Content-Encoding", "deflate");
    }

关于这两种算法,请参见 ASP.NET 中的压缩和解压

相关文章