`

对ashx请求用Gzip,Deflated压缩

阅读更多

//GZIP压缩

//查看请求头部
stringacceptEncoding=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
=newGZipStream(context.Response.Filter,CompressionMode.Compress);
}

elseif(acceptEncoding.Contains("DEFLATE"))
{
//向输出流头部添加压缩信息
context.Response.AppendHeader("Content-encoding","deflate");
context.Response.Filter
=newDeflateStream(context.Response.Filter,CompressionMode.Compress);
}

}

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

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

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

下面来看两次压缩的对比

GZIP前

上面这个是压缩前的

下面这个是压缩后的

GZIP后

来比较一下.

压缩前

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

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

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

压缩后

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

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    JQuery+json+ashx异步请求分页

    本主题将深入探讨如何使用JQuery、JSON和ASHX处理异步请求实现分页功能。 JQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和AJAX交互。在分页场景中,JQuery主要负责监听用户操作,如点击分页按钮,...

    ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求示例代码.zip

    本示例代码着重展示了如何使用ASHX来处理GET和POST请求,这在构建RESTful API或实现异步数据通信时非常常见。 首先,让我们了解GET和POST请求的基本概念。GET请求通常用于获取资源,是幂等的,意味着多次发送相同的...

    【ASP.NET编程知识】ashx介绍以及ashx文件与aspx文件之间的区别.docx

    ashx 文件的处理过程也更加简单,使用 SimpleHandlerFactory 类来处理请求,而 aspx 文件使用 PageHandlerFactory 类来处理请求。 在.NET 中,ashx 文件可以继承 IHttpHandler 接口来处理请求。ashx 文件可以使用 ...

    C# ashx接口实现 实例

    本文将深入探讨如何使用C#来实现ASHX接口,并结合提供的文件目录结构进行实例解析。 首先,`JieKou`文件夹中的内容很可能是服务器端的接口实现。ASHX接口是基于.NET Framework的HTTP服务组件,它不需要完整的ASP...

    ashx文件的使用

    下面我们将深入探讨ashx文件的使用,以及如何通过它们增强Web应用的功能。 ### 什么是ashx文件? ashx文件,全称是Application Handler,是一种由Microsoft提供的用于创建自定义HTTP处理器的手法。它们可以响应...

    getJson+ashx实现数据交互(入门级)

    在本文中,我们将深入探讨如何使用`getJSON`和`.ashx`处理数据交互,特别关注C#环境下的实现。`getJSON`是jQuery库中一个非常实用的函数,用于异步获取JSON格式的数据,而`.ashx`是ASP.NET中处理HTTP请求的自定义...

    ajax页面交互ashx

    在ASP.NET环境中,我们通常会用到`ashx`(HttpHandler)来处理Ajax请求。 **什么是Ashx?** Ashx全称为HTTP Handler,它是ASP.NET框架中一种轻量级的处理程序,用于响应HTTP请求。与传统的ASPX页面相比,ASHX没有...

    ajax+jquery+ashx

    5. **使用 jQuery 调用 Ashx**:在 jQuery 中调用 Ashx,通常在 AJAX 请求的 URL 参数中设置 Ashx 文件的路径。例如,`$.ajax({url: 'handler.ashx', type: 'POST', data: {key: 'value'}, success: function...

    asp.net中利用ashx实现图片防盗链

    通过在 ASP.NET 中使用 ashx 文件实现图片防盗链,不仅可以有效防止资源被盗用,还可以提高服务器的安全性和性能。在实际应用中,可以根据具体需求调整代码逻辑,例如增加白名单域名检查、记录日志等,以增强功能和...

    easyui+ashx订单管理系统

    总而言之,"easyui+ashx订单管理系统"是一个实用的学习和参考案例,它将现代Web开发技术与业务逻辑紧密结合,展现了如何利用EasyUI来设计用户友好的界面,以及如何用ASHX处理后台数据操作,对于想要提升.NET开发技能...

    Android应用源码之android与asp.net中的一般处理程序ashx进行交互_ashx.zip

    在Android应用开发中,有时需要与服务器进行数据交互,实现数据的上传或下载...客户端通过HTTP库发送请求,服务器端使用ASHX处理这些请求并返回数据。理解这一过程对于构建Android应用与服务器之间的数据通信至关重要。

    AJAX+JSON+ASHX分页源码

    例如,JavaScript部分可能有对AJAX请求的详细解释,而ASHX处理程序部分则可能介绍了如何处理分页逻辑和返回JSON数据。 总结: 这个AJAX+JSON+ASHX分页源码示例提供了一个实用的无刷新分页解决方案,适用于各种ASP...

    在ashx中验证是否登陆、是否有操作权限的基类

    在.NET开发环境中,ASP.NET Web API或传统的ASP.NET应用程序经常使用ASHX(HTTP Handler)来处理特定的HTTP请求。这些处理程序通常用于提供轻量级的API服务或者执行某些特定的任务。在标题提及的场景中,“在ashx中...

    异步请求分页示例:handler.ashx + $.ajax() + Json + 分页处理

    在这个场景中,前端会使用`$.ajax()`发送请求到`handler.ashx`,参数可能包括请求的页码、每页数量等,以获取对应分页的数据。 接着,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和...

    HTML+ASHX上传传图片.zip

    可以配置ASHX处理程序允许特定来源的请求。 6. **性能考虑**: 对于大量上传或者大文件上传,可以考虑使用分块上传、异步处理等方式提高性能和用户体验。 7. **存储策略**: 图片上传后,可能需要考虑存储策略,...

    ajax+ashx分页

    3. **数据返回格式**: 由于AJAX请求可能在前端使用JSON或XML解析数据,所以你需要将查询结果转换成合适的格式。在`PageHandler.ashx`中,可以将数据序列化为JSON字符串并返回。 **三、前端AJAX调用** 1. **...

    jQuery+ashx实现全国城市联动

    在这个场景下,当用户选择省份时,jQuery会发送一个Ajax请求到服务器,这个请求会被ASHX处理程序捕获。ASHX接收请求参数(比如省份ID),查询数据库获取对应市的信息,然后将结果以JSON或其他格式返回给前端。 以下...

    ajax+jquery+ashx实现上传文件

    在Web开发中,异步传输(Ajax)技术允许我们...通过这种组合使用Ajax、jQuery和ASHX的方式,我们可以创建一个高效且用户体验良好的文件上传系统,无需离开当前页面即可完成文件上传,从而提高了Web应用的交互性和效率。

    winform上传文件,带进度条,用一般处理程序ashx接收,传有参数。源代码例子下载

    - 在客户端,使用`WebClient`或`HttpClient`类可以方便地发送带有文件的POST请求。为了发送进度信息,可以监听`HttpContent.ReadAsByteArrayAsync`或其他读取方法的进度事件。 7. **参数传递**: - 在文件上传的...

    ashx漏洞福利包

    2. **SQL注入**:如果ashx处理程序与数据库交互,并且未对用户输入进行充分的过滤或转义,那么攻击者可能会利用SQL注入漏洞,执行恶意SQL查询,获取敏感数据或篡改数据库内容。 3. **跨站脚本(XSS)**:ashx处理...

Global site tag (gtag.js) - Google Analytics