IIS服务器端压缩

作者 : 开心源码 本文共986个字,预计阅读时间需要3分钟 发布时间: 2022-05-11 共58人阅读

我们知道访问网页的时候服务器与用户端之间会进行数据传输,所传输的数据除了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(不要笑话项目文件暂时就这么大,哈哈),还是相当可观的。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » IIS服务器端压缩

发表回复