IIS服务器端压缩

  • 时间:2018-06-12 19:56 作者:开发小菜鸟 来源:开发小菜鸟 阅读:96
  • 扫一扫,手机访问
摘要:我们知道访问网页的时候服务器与用户端之间会进行数据传输,所传输的数据除了HTTP报文本身外,还包括网页所需要的HTML文件、CSS文件、JS代码、以及媒体文件,如图片、字体、声音等,假如以上一律信息体积过大的话将会严重影响网页打开速度,增大白屏时间。这个时候我们能通过多种方式提升网页加载速度,如:1

我们知道访问网页的时候服务器与用户端之间会进行数据传输,所传输的数据除了HTTP报文本身外,还包括网页所需要的HTML文件、CSS文件、JS代码、以及媒体文件,如图片、字体、声音等,假如以上一律信息体积过大的话将会严重影响网页打开速度,增大白屏时间。这个时候我们能通过多种方式提升网页加载速度,如:

1. 将不同页面所需的js文件打包成多个小包(每个包在100KB以下最优),需要使用到某个页面时临时加载相关包,避免一个大包一次性整个下载

2. 对于小于20KB的图片用Base64编码

3. 用Icon font做图标

4. 缓存不需要升级的接口数据

除了以上方式,我们还能通过对IIS进行设置,从而进一步减少HTTP传输数据的体积。从IIS 6开始,IIS提供了一个设置。

注意,为了可以是浏览器端正确识别压缩后的文件,HTTP报文必需包含正确的Accept-encoding头信息,如:Accept-Encoding:gzip, deflate。

IIS 支持两种压缩方式:

1. 静态压缩:

将静态文件(如html、doc、xls、jpg等)一次压缩,后续请求直接用缓存中已经压缩好的文件。

2. 动态压缩:

与静态压缩不同的是,每次请求IIS都会压缩,而压缩后的版本不会被缓存下来。

IIS 支持两种压缩标准:

1. Deflate:表示采使用 (LZ77) 压缩算法,以及32位CRC校验的编码方式。

2. GZIP:采使用 zlib 结构和 压缩算法。

默认情况下,在IIS 7以及之后版本上已经启使用了HTTP压缩,但是仅启使用了静态压缩。假如想启使用动态压缩的话,能打开Windows Server Manager, Add Roles and Features, 找到ServerRoles:

IIS服务器端压缩

不同服务器安装IIS会有少量不同,但是大同小异,按照以上方式安装完IIS后,还需要在IIS进行少量配置:

1. 首先单击应使用程序或者虚拟目录,在右侧找到Compression,双击打开:

IIS服务器端压缩

2. 在IIS中,单击服务器名称节点,在右侧同样有一个Compression,双击打开,下面是我的配置:

IIS服务器端压缩

好了,现在IIS就已经完全支持HTTP压缩了,接下来需要做的就是在自己的网页代码中增加Accept-encoding头信息了。在我们的实践中,一个17.8MB的文件经过HTTP压缩,能缩小到6.6MB(不要笑话项目文件暂时就这么大,哈哈),还是相当可观的。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2019蚂蚁金服面试总结(Java方向)(2019-04-18 16:19)
【系统环境|】notepad++ 三位数字正则替换规则(2019-04-12 23:02)
【系统环境|服务器应用】网络工程师跨交换机的Vlan配置与管理知识(2019-03-26 02:14)
【系统环境|服务器应用】最小化的定制版linux系统:CoreOS(2019-03-26 02:14)
【系统环境|服务器应用】分布式系统面试题:分布式事务处理方案?(2019-03-26 02:13)
【系统环境|服务器应用】带着网关去旅行(系列二):防止vps上ssh端口被恶意扫描(2019-03-26 02:13)
【系统环境|服务器应用】美团iOS面试总结(2019-03-26 02:13)
【系统环境|服务器应用】百度iOS面试总结(2019-03-26 02:13)
【系统环境|服务器应用】Java大佬之学习历程(三)(2019-03-26 02:13)
【系统环境|服务器应用】Android面试集锦系列(38)——在项目中使用AsyncTask会有什么问题吗?(2019-03-26 02:13)
手机二维码手机访问领取大礼包
返回顶部