将文本内容先在服务器上经过压缩再传递给客户端能够极大的减少数据传输所需要的流量,在某些情况下需要传输的数据会减少约 70%,这对站长的钱包和用户正在见底的手机流量都很有好处。唯一觉得不开心的可能是服务器的 CPU,因为在每次传输数据前都对数据进行压缩会给服务器的 CPU 造成一定的压力,为了解决这一问题,我们可以将站点的静态资源进行预压缩,这样在用户请求资源时,我们就不用先压缩这些文件,而只需要将提前压缩好的资源传给用户就好,有些前端框架(比如 Angular)甚至会直接提供预压缩过的资源文件可以说是非常贴心了。
通常情况下 Nginx / Apache 都能比较好的处理预压缩的问题,但是轮到 IIS 的时候就比较难搞了:直至 IIS 10,微软也没有提供直接读取预压缩文件的功能,因此我们需要手写 web.config
文件来实现这一功能,本文将简要介绍如何在 IIS 下搞定这一需求。