//GZIP压缩


//查看请求头部
string acceptEncoding = context.Request.Headers["Accept-Encoding"].ToString().ToUpperInvariant();
if (!String.IsNullOrEmpty(acceptEncoding))
{
    //如果头部里有包含"GZIP”,"DEFLATE",表示你浏览器支持GZIP,DEFLATE压缩
    if (acceptEncoding.Contains("GZIP"))
    {
        //向输出流头部添加压缩信息
        context.Response.AppendHeader("Content-encoding", "gzip");
        context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress);
    }
    else if (acceptEncoding.Contains("DEFLATE"))
    {
        //向输出流头部添加压缩信息
        context.Response.AppendHeader("Content-encoding", "deflate");
        context.Response.Filter = new DeflateStream(context.Response.Filter, CompressionMode.Compress);
    }
}

这样每次context.Response.Write出支的数据就压缩了

对效多的文本信息压缩可以压缩到原来三分之一到四分之一的样子

如果发送的信息只有几个字节就没有必要了

下面来看两次压缩的对比

上面这个是压缩前的

下面这个是压缩后的

来比较一下.

压缩前

第一个请求:3021字节,用时0.033

第二个请求: 431字节,用时0.010

第三个请求: 516字节,用时0.008

压缩后

第一个请求:1239字节,用时0.025

第二个请求: 556字节,用时0.008

第三个请求: 587字节,用时0.008

第一个请求压缩很明显,达到了原来的三分之一左右

第二个请求,第三个请求压缩前反而比压缩后小.这是为什么呢.

呵.那是第一个请求发送的数据本来就很大,

第二个和第三个请求发送的就只有几个字节,

还要加上浏览器的一些信息,可能反而大了吧

我的理解是这样的.还请高手多多指教

出处:http://www.cnblogs.com/liuju150/archive/2009/09/14/1566479.html

对ashx请求用Gzip,Deflated压缩的更多相关文章

  1. Nginx开启GZIP来压缩网页

    HTTP协议上的GZIP编码是一种用来改进web应 用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中 ...

  2. Filter之——GZIP全站压缩

    GZIP压缩:将压缩后的文本文件,发送给浏览器,减少流量. 一.进行gzip压缩条件: 1.请求头:Accept-Encoding : gzip  告诉服务器,该浏览器支持gzip压缩. 2.响应头: ...

  3. Nginx使用GZIP来压缩网页

    HTTP协议上的GZIP编码是一种用来改进web应 用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中 ...

  4. linux服务器的Gzip文件压缩方法[转]

    一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992 ...

  5. Nginx开启http2访问和gzip网页压缩功能

    准备工作   如果Nginx要开启http2需要满足以下2个条件: nginx >=1.9.5 openSSL >= 1.0.2 所以这里我们首先要检查Nginx的版本如果没有安装要先安装 ...

  6. spring gzip 静态压缩优化

    HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览.相对 于普通的浏览过程HTML ,CSS,Java ...

  7. Android总结之Gzip/Zip压缩

    前言: 做过Android网络开发的都知道,在网络传输中我们一般都会开启GZIP压缩,但是出于刨根问底的天性仅仅知道如何开启就不能满足俺的好奇心的,所以想着写个demo测试一下比较常用的两个数据压缩方 ...

  8. CentOS下Apache开启Gzip网页压缩功能

    1.进入/etc/httpd/conf下打开httpd.conf文件 开启Gzip压缩功能,即去掉LoadModule deflate_module modules/mod_deflate.so这行前 ...

  9. gzip [选项] 压缩(解压缩)

    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用. 语法:gzip ...

随机推荐

  1. CentOS7 忘了root密码怎么办

    今天打开很久没开机的另2台虚拟机,发现不记得root密码了. 于是参考了google搜索到的第一个答案,https://www.unixmen.com/reset-root-password-cent ...

  2. mysql数据库设置不区分大小写,启动方法

    用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写: lower_ca ...

  3. AVAudioFoundation(4):音视频录制

    本文转自:AVAudioFoundation(4):音视频录制 | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 采集设备的音视 ...

  4. linux第五周

    第五周 给MenuOS增加time和time-asm命令 更新menu代码到最新版 在main函数中增加MenuConfig 增加对应的Time函数和TimeAsm函数 make rootfs 使用g ...

  5. Windows10下用Anaconda3安装TensorFlow教程【转】

    本文转载自:https://www.cnblogs.com/HongjianChen/p/8385547.html 1. 安装好Anaconda3版本 (1) 注:可以发现最新版本是Anaconda5 ...

  6. HDU 2457 DNA repair(AC自动机+DP)题解

    题意:给你几个模式串,问你主串最少改几个字符能够使主串不包含模式串 思路:从昨天中午开始研究,研究到现在终于看懂了.既然是多模匹配,我们是要用到AC自动机的.我们把主串放到AC自动机上跑,并保证不出现 ...

  7. override和new关键字 隐藏父类的方法

    正常情况下,父类virtual的方法,子类override class Animal { public virtual void EatFood() { Console.WriteLine(" ...

  8. spring boot2 基于百度云apiface实现人脸检测与认证1

    原理介绍: 基于百度云的人脸资料库(用户上传),调用本地摄像头抓拍的图像,与百度云的用户图像做比对,实现人脸认证. 主要步骤如下: 1. 创建百度去账号 2. 在百度云控制台中创建人脸识别的应用,并记 ...

  9. 调用libpci库出现的问题和解决方法

    调用libpci库出现的问题和解决方法   本方案以pciutils-3.5.1为例.   1. 从以下地址下载pciutils-3.5.1.tar.xz https://www.kernel.org ...

  10. python 执行字符串中的python代码

    mycode = 'print("hello world")' code = """ def mutiply(x,y): return x*y pri ...