//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. oracle 11g 数据库中报:协议适配器错误

    本人遇到该问题,到数据库服务器上重新启动监听和实例就OK了.

  2. 20145312 《网络对抗》PC平台逆向破解:注入shellcode和 Return-to-libc 攻击实验

    20145312 <网络对抗>PC平台逆向破解:注入shellcode和 Return-to-libc 攻击实验 注入shellcode 实验步骤 1. 准备一段Shellcode 2. ...

  3. sqlite的缺点和限制

    随着查询变大变复杂,查询时间使得网络调用或者事务处理开销相形见绌, 这时一些大型的设计复杂的数据库开始发挥作用了. 虽然SQLite也能处理复杂的查询,但是它没有精密的优化器或者查询计划器. SQLi ...

  4. 详解KMP算法【转】

    本文转载自:http://www.cnblogs.com/yjiyjige/p/3263858.html KMP算法应该是每一本<数据结构>书都会讲的,算是知名度最高的算法之一了,但很可惜 ...

  5. hdu 6301 Distinct Values(贪心)题解

    题意:长为n的串,给你m个区间,这些区间内元素不重复,问这样的串字典序最小为? 思路:用set保存当前能插入的元素,这样就能直接插入最小元素了.对操作按l排序,因为排过的不用排,所以两个指针L,R是一 ...

  6. pod状态为Back-off

    查看pod状态为CrashLoopBackOff [root@master yaml]# kubectl get pods NAME READY STATUS RESTARTS AGE mysql-7 ...

  7. (Matlab)GPU计算简介,及其与CPU计算性能的比较

    1.GPU与CPU结构上的对比 2.GPU能加速我的应用程序吗? 3.GPU与CPU在计算效率上的对比 4.利用Matlab进行GPU计算的一般流程 5.GPU计算的硬件.软件配置 5.1 硬件及驱动 ...

  8. ES7学习笔记——Array.prototype.includes和求幂运算符**

    一直以来,在前端开发时使用的基本都是ES5,以及少量的ES6.3月份换工作面试时,发现一些比较大的公司,对ES6比较重视,阿里的面试官直接问ES7和ES8,对于从未接触过人来说,完全是灾难.由此也显现 ...

  9. /etc/rc.local 与 /etc/profile

    1.用户自己源码安装的软件组要自启动,可以在/etc/rc.local中配置,rc.loacl 是rc.d/rc.local的一个软连接.rc.local -> rc.d/rc.local 2. ...

  10. BZOJ 1566 【NOI2009】 管道取珠

    题目链接:管道取珠 这道题思路还是很巧妙的. 一开始我看着那个平方不知所措……看了题解后发现,这种问题有一类巧妙的转化.我们可以看成两个人来玩这个游戏,那么答案就是第二个人的每个方案在第一个人的所有方 ...