HTTP Response Compression in a URL rewrite enabled IIS installation

最新推荐文章于 2024-12-06 08:05:10 发布
转载 最新推荐文章于 2024-12-06 08:05:10 发布 · 1.2k 阅读
· 0
· 0
文章标签:

#compression #iis #IIS #UrlRewrite

asp.net 专栏收录该内容
16 篇文章
订阅专栏
本文介绍如何在IIS中启用HTTP响应压缩,并使用HeliconJet等第三方工具提高网站加载速度。通过压缩静态和动态内容,显著减少传输的数据量。

HTTP Response Compression in a URL rewrite enabled IIS installation

It is normally a good and recommended practice to enable HTTP Response Compression regardless of the server you use to host a site. Response Compression uses the available bandwidth more efficiently thus providing faster transmission times between compression-enabled browsers and the server. This, of course, means faster loading pages for the end user as well.

HTTP Compression in IIS 6.0 is pretty easy to set up. You can click  here for detailed instructions on how to do it.

I would like to note that IIS compression isn't perfect. I did see a case where it failed and it turned out to be because the content was not actually being served by the IIS instance, but it was being redirected to a Tomcat server which processed all the requests and sent them back to IIS.

This routing is achieved by using a Rewrite Engine Software— ISAPI Rewrite. There is one additional feature that is obtained by using this rewrite software and that is providing more relevant-looking links (sometimes known as short or fancy URL's) to the end user.

You may wonder why someone would ever use such a server configuration. There are many good reasons to do it; unfortunately they are out of the scope of this blog.

However, if you ever run into a similar situation, I suggest you keep reading this blog. It may save you some time in setting your Response Compression to work appropriately.

 


Compression Tools


There are a lot of third party tools you can use for Response Compression in IIS like: httpZip, XCompress, Helicon Jet, etc. Most of them are implemented as an ISAPI filter you can add to IIS and use with no trouble at all.

I decided to use Helicon Jet as our compression tool. Installation is really simple, just download and run HeliconJet.msi. After installation completes you will find a Helicon Jet Tab under site properties in the IIS console.

Helicon Jet is configured separately for every web site in IIS. Its settings are accessible through IIS console snap-in extension among the other web site properties. You can access the console by opening a run window from the start menu and typing inetmgr.

Helicon Jet comes pre-configured for the most system configurations so you may start using compression immediately after enabling it. When you click on the Enable button the '/' entry will be automatically added to the Directory (URL) pattern list, which will enable compression on entire web site. By default compression is enabled for both static and dynamic content, but server side caching is enabled only for static content and compression level for dynamic content is lower.

There are a lot of options you can set in the Helicon Jet properties tab. Helicon Jet is configured on three different levels:

  • Directory & file level configuration
  • File extension & MIME type level configuration
  • User agents level configuration

I recommend that you take a look at the documentation that comes along with the product to find out what the different options are best used for. However, I suggest enabling file compression for the following file types:

Static Content
  • HTML Pages (.html)
  • Cascading Style Sheets (.css)
  • Java Script Code (.js)
  • HTML Components (.htc)
  • Portable Document Format (.pdf)  
Dynamic Content
  • ASP Pages (.asp)
  • ASPX Pages (.aspx)
  • ASMX Pages (.asmx)
  • Dynamic Link Libraries (.dll)
  • Executable files (.exe)
  • PHP Pages (.php)


Below is a table with some data that I obtained by running tests on our site.
A tool called Fiddler was used to monitor and see the HTTP requests and responses.

File

Compression Disabled [bytes]

Compression Enabled [bytes]

Compression Ratio [%] 

home.html

18,512

3,478

81.2

query.js

197,156

54,034

72.6

global.css

76,640

15,184

80.2

global.js

37,256

10,430

72.0



That is it for now.  In the next blog I will address the issue of connecting IIS with Tomcat using an Apache proprietary protocol called AJP13 instead of HTTP.

确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
ChesterQin
关注 关注
  • 0
    点赞
  • 踩
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  • 分享
    复制链接
    分享到 QQ
    分享到新浪微博
    扫一扫
  • 举报
    举报
专栏目录
IIS 7.0 Modules Overview
tianyu的专栏 - Linux site:blog.youkuaiyun.com/wishfly
02-07 2408
The IIS 7.0 Web server feature set is componentized into more than thirty independent modules. A module is either a Win32 DLL (native module) or a .NET 2.0 type contained within an assembly (managed
什么是In-Memory计算? Mastering In Memory Computing:A Comprehensive Guide
AI天才研究院
07-20 3354
作者:禅与计算机程序设计艺术 什么是In-Memory计算? In-memory computing refers to the process of executing computational tasks by storing input and output data i
参与评论 您还未登录,请先 登录 后发表或查看评论
asp.net core 系列之Performance的 Response compression(响应压缩)
weixin_34416754的博客
06-15 411
本文,帮助了解响应压缩的一些知识及用法(大部分翻译于官网,英文水平有限,不准确之处,欢迎指正)。 什么是响应压缩?响应压缩简单的说就是为了减少网络带宽,而把返回的响应压缩,使之体积缩小,从而加快响应的一种技术(个人理解) 网络带宽是有限的资源。减少响应(response)的大小通常可以增加应用的响应性(即减少响应的大小可以加快响应的速度),这是很引人注目的(often dramatically...
ASP.NET Core 知识速递 - Day 11:Compression 中间件
dotNET跨平台
12-06 162
1. 什么是 Response Compression MiddlewareResponse Compression是 ASP.NET Core 提供的一种中间件,用于对 HTTP 响应内容进行压缩。它通过支持的压缩算法(如 Gzip 或 Brotli)压缩服务器发送给客户端的响应内容,从而加快网络传输速度,特别适合处理大段文本或数据。2. 启用压缩中间件压缩中间件默认提供了Brotli and ...
Spring-boot2.1.6开启HTTP响应压缩(Enable HTTP Response Compression)
OceanSky的专栏
12-22 5876
Jetty,Tomcat和Undertow都支持HTTP响应压缩,可以通过application.properties配置文件开启,如下: server.compression.enabled=true 默认情况下,响应的长度必须至少为2048字节才能执行压缩。可以通过执行如下属性来配置此行为: #单位字节Byte server.compression.min-response-size=204...
response压缩响应
weixin_30781433的博客
01-05 356
思路: 1、通过filter向目标页面传递一个自定义的response对象 2.、在这个response对象中通过重写getOutputStream方法和getWriter方法使目标资源调用 该方法输出页面内容时,获得我们自定义的ServletOutputStream对象 3、在我们自己定义的ServletOutputStream中,重写writer 方法,使资源写到buffer中。 4、...
Top 10 Performance Improvements in IIS 7.0
weixin_30933531的博客
07-07 335
Ref: http://technet.microsoft.com/en-us/magazine/cc745952.aspx Mike Volodarsky At a Glance: Minimize your application footprint Reduce bandwidth costs Use enhanced caching...
[转]A HOWTO on Optimizing PHP
heiyeluren的blog(黑夜路人的开源世界)
01-14 3799
 来源:http://phplens.com/lens/php-book/optimizing-debugging-php.php Last revised 28 Feb 2005. If you want to see what has changed, search for this date in this article. If you like this article,
IIS Compression
12-13
IIS默认支持Gzip压缩,但IIS Compression提供了更优化的实现,可以提高压缩效率和性能。Deflate压缩算法是另一种常见的压缩方法,它结合了LZ77压缩和霍夫曼编码。然而,与Brotli相比,它们在某些场景下可能无法提供...
CVPR2021|FVC: A New Framework towards Deep Video Compression in Feature Space【论文阅读笔记】
Kobaayyy的博客
05-21 1371
CVPR2021|FVC: A New Framework towards Deep Video Compression in Feature Space【论文阅读笔记】作者相关链接1.前言2.介绍3.方法3.1 Overview3.2 Deformable Compensation3.3 Multi-frame Feature Fusion3.4 Residual Compression and Other Details3.5 Loss Function4.实验4.1. Experimental Set
3DGS.zip: A survey on 3D Gaussian Splatting Compression Methods(2)
初见月
11-07 1834
提供了3DGS各种压缩技术的综合比较。
论文解读-Variational Image Compression With a Scale Hyperprior
weixin_43721070的博客
07-03 3772
本文发表在ICLR2018,作者Balle沿袭了ICLR2017上的工作,增加了可以提取边信息的Hyperprior,进一步消除了图像在latent space上的空间相关性,同时改进了此前的分段线性函数拟合边缘概率分布的做法。本文所提出的方法在PSNR上接近HEVC BPG,而在SSIM上则超过了HEVC BPG。在此前的框架中,解决微分熵不可导的操作是设计了一个entropy model py^(y^)p_{\hat{y}}(\hat{y})py^​​(y^​)以逼近图像xxx在latent space
Gzip压缩的HttpResponse解析
晨旭猿的小屋
11-21 6280
今天改网络请求框架碰到的问题, 新加的请求,抓包显示是好的,但是解析出来是乱码。 然后发现是经过GZIP压缩的 HttpResponse response = httpClient.execute(http); Header[] headers = response.getHeaders("Content-Encoding"); boolean isGzip
【四旋翼飞行器】【模拟悬链机器人的动态】设计和控制由两个四旋翼飞行器推动的缆绳研究(Matlab代码实现)
11-26
【四旋翼飞行器】【模拟悬链机器人的动态】设计和控制由两个四旋翼飞行器推动的缆绳研究(Matlab代码实现)内容概要:本文围绕“设计和控制由两个四旋翼飞行器推动的缆绳系统”展开研究,通过建立动力学模型并利用Matlab进行仿真,模拟类似悬链机器人的动态行为。研究重点在于多无人机协同控制、缆绳张力分析及系统稳定性控制,结合非线性动力学与控制理论,实现对柔性连接负载的精确操控。文中提供了完整的Matlab代码实现,便于复现实验结果,适用于复杂空中作业任务的仿真验证。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及从事无人机协同控制、机器人系统开发的工程技术人员。; 使用场景及目标:①研究多无人机协同搬运与柔性负载控制;②掌握缆绳系统动力学建模与仿真方法;③应用于空中机器人、工业吊装、救援运输等实际场景的控制系统设计与优化; 阅读建议:建议结合Matlab代码逐模块分析,重点关注动力学建模、控制律设计与仿真结果验证部分,可进一步扩展至更多无人机协同或复杂环境干扰下的鲁棒性研究。
基于遗传算法的梯级水电站群联合火电厂优化调度研究(Python代码实现)
11-26
基于遗传算法的梯级水电站群联合火电厂优化调度研究(Python代码实现)内容概要:本文研究了基于遗传算法的梯级水电站群联合火电厂优化调度问题,旨在通过智能优化方法实现电力系统中水火电资源的协调调度,提升能源利用效率与调度经济性。文中构建了考虑水电站间水力联系、水库库容约束、机组出力特性及火电厂运行成本的综合优化模型,并采用遗传算法进行求解,给出了完整的Python代码实现。该方法能够有效处理复杂的非线性、多约束、多变量调度问题,具备良好的收敛性和实
无人机基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)
最新发布
11-26
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
图像重建使用FDK的三维谢普洛根幻影重建(Matlab代码实现)
11-26
【图像重建】使用FDK的三维谢普洛根幻影重建(Matlab代码实现)内容概要:本文介绍了使用FDK算法在Matlab环境中实现三维谢普洛根幻影(Shepp-Logan phantom)图像重建的技术方法,重点展示了图像重建过程中的关键步骤与代码实现。该资源属于一系列图像处理与医学成像技术研究的一部分,涵盖了从投影数据生成到反投影重建的完整流程,帮助读者理解CT图像重建的基本原理与FDK算法的应用细节。; 适合人群:具备一定Matlab编程基础,从事医学图像处理、计算机断层成像(CT)或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①学习和掌握FDK算法在三维图像重建中的具体实现;②理解Shepp-Logan幻影模型在仿真成像中的作用;③为医学图像重建、算法验证与教学演示提供可运行的Matlab代码参考; 阅读建议:建议结合Matlab代码逐行调试,理解投影(正弦图)生成与滤波反投影的每一步操作,同时可延伸学习其他重建算法(如FBP
【大数据搜索技术】Elasticsearch7.8安装部署与集群管理:基于CentOS的分布式搜索引擎配置及性能优化实践
11-26
内容概要:本文详细介绍了Elasticsearch 7.8的安装部署及核心功能应用,涵盖环境准备、解压配置、启动优化、集群搭建、分片管理、健康监控等内容,并结合Kibana和Logstash构建完整的ELK日志分析体系。文章还讲解了中文分词器IK的使用、快照备份与恢复机制,以及如何通过Filebeat采集Nginx等服务的日志数据并进行可视化展示,系统性地呈现了Elasticsearch在实际生产环境中的部署与运维流程。; 适合人群:具备Linux基础和一定运维经验的技术人员,尤其是从事日志分析、搜索系统搭建或中间件维护的开发与运维工程师;适合初学者入门Elasticsearch及相关生态组件。; 使用场景及目标:①掌握Elasticsearch单节点与集群环境的安装与配置;②理解索引、分片、副本等核心概念并应用于实际业务;③构建基于Filebeat+Logstash+ES+Kibana的日志采集与分析链路;④实现数据的备份恢复与中文检索功能; 阅读建议:建议按照文档顺序逐步操作,重点关注配置参数调优与常见错误处理(如权限、虚拟内存限制),动手实践集群部署与日志采集流程,结合Kibana进行数据验证与可视化分析,加深对ELK生态协同工作的理解。
IIS Compression 提供Brotli及优化的Gzip压缩支持
此外,该模块还兼容 IIS 的 URL Rewrite 和 Output Cache 模块,能够在内容缓存前完成压缩操作,极大提升整体服务效率。 安全性方面,IIS Compression 同样考虑周全。由于历史上曾发生过因压缩引发的安全漏洞(如 ...
ChesterQin

博客等级

码龄17年
35
原创
8
点赞
8
收藏
9
粉丝
关注
私信

热门文章

  • 双方拍拍肩,双方打屁股 14705
  • 大数据量下not in, not exists, left join的比较 8801
  • wmplayer参数说明 7059
  • sql取中间连续记录的方法例如去20条到30条的记录 7009
  • Preview image in client by JavaScript when upload image in multi-browsers 4381

分类专栏

  • asp.net
    16篇
  • css兼容
    2篇
  • ie兼容
    3篇
  • javascript
    17篇
  • MVC asp.net
    9篇
  • NHibernate
    8篇
  • web
    15篇
  • Web Design
  • 数据库
    8篇
  • 架构
  • 理
    13篇
  • 移动开发
    1篇

展开全部 收起

上一篇:
IIS6下.net伪静态html图文教程
下一篇:
老鸟,也会坠机

最新文章

  • NHibernate OneToOne 映射下使用延迟加载
  • Running NHibernate3.3&CouchBase successfully
  • 未能加载文件或程序集“NHibernate.ByteCode.Castle”或它的某一个依赖项。系统找不到指定的文件
2013年6篇
2012年2篇
2011年27篇
2010年15篇
2009年27篇

目录

展开全部

收起

目录

展开全部

收起

上一篇:
IIS6下.net伪静态html图文教程
下一篇:
老鸟,也会坠机

分类专栏

  • asp.net
    16篇
  • css兼容
    2篇
  • ie兼容
    3篇
  • javascript
    17篇
  • MVC asp.net
    9篇
  • NHibernate
    8篇
  • web
    15篇
  • Web Design
  • 数据库
    8篇
  • 架构
  • 理
    13篇
  • 移动开发
    1篇

展开全部 收起

目录

评论
被折叠的  条评论 为什么被折叠? 到【灌水乐园】发言
查看更多评论
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值