IIS服务器端压缩

  • 时间:2018-06-12 19:56 作者:开发小菜鸟 来源:开发小菜鸟 阅读:130
  • 扫一扫,手机访问
摘要:我们知道访问网页的时候服务器与用户端之间会进行数据传输,所传输的数据除了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)
最新发布的资讯信息
【网页前端|HTML】最全面的前端开发指南(2019-07-15 12:57)
【系统环境|数据库】零基础如何快速学好大数据?(2019-06-29 12:27)
【系统环境|Linux】零基础如何学好大数据?必备需要学习知识(2019-06-18 11:54)
【系统环境|】Hadoop环境中管理大数据存储八大技巧(2019-06-15 11:01)
【系统环境|服务器应用】现在国内IT行业是不是程序员过多了?(2019-06-11 06:34)
【系统环境|服务器应用】新贵 Flutter(2) 自己设置 Widget(2019-06-11 06:34)
【系统环境|服务器应用】Android完整知识体系路线(菜鸟-资深-大牛必进之路)(2019-06-11 06:34)
【系统环境|服务器应用】Java程序员小伙经历三个月备战,终获阿里offer(2019-06-11 06:34)
【系统环境|服务器应用】每日一问:谈谈对 MeasureSpec 的了解(2019-06-11 06:34)
【系统环境|服务器应用】【科普】晶体管-1(2019-06-11 06:34)
手机二维码手机访问领取大礼包
返回顶部