IIS配置Gzip压缩,提升访问性能
1、概述
IIS是基于Http协议进行数据传输的,我发现在项目中大概使用Get/Post返回Json,而Json并没有使用压缩。
如下图,响应的头部,也就是说IIS是可以支持Compression的。
文件压缩率大概10~20%,效果还是可以的。
2、IIS中的配置
下面来讲解如何在IIS中配置。
本人是IIS10的版本,各人电脑版本不一样,配置基本一致,会有少许区别。
这个同志估计是老版本的,我把链接放到下面去,在我电脑上面没成功。有需要的人可以参考下。
https://www.cnblogs.com/zhangziqiu/archive/2009/05/17/gzip.html
特别是下面这一断,我电脑上面虽然有这个文件,但是没下面的代码片段,加上去也没效果,不知道是不是不正确,求指正。
3、我的配置方法
IIS7.5以上的版本,基本配置方式一致。
在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多,而且默认情况下就是启用GZip压缩的。如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内容压缩”和“动态内容压缩”两个选项,勾上即可。
打开后如下,所示
如果你的选项中没有动态压缩内容,在打开Windows程序中,重新装一下IIS,勾选动态压缩,默认只有静态压缩。
配置启用压缩的文件类型及其他选项
当开启GZip压缩之后,IIS并不是对所有内容都启用了压缩,而是有选择的进行压缩。遗憾的是,我们无法直接在IIS7管理器中配
置这些压缩选项。我们首先需要在C:\Windows\System32\inetsrv\config文件夹下找到applicationhost.config文件。
有两处
1、:启动压缩内容
<section name="httpCompression" overrideModeDefault="Allow" />
2、:配置压缩内容
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json;charset=utf-8" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json;charset=utf-8" enabled="true" />
<add mimeType="image/svg+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
其中
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json;charset=utf-8" enabled="true" />
我后来追加的,默认的只有上面的其他的内心,如果你需要添加额外类型,自行添加即可。
我们注意到,对于Javascript来说,上面对不同的mime类型配置了不同的压缩方式。Javascript有三种常见的Mime类型,
text/javascript,application/x-javascript,application/javascript。这三种类型都是合法的,在现代浏览器中也不存在什么差别。但
是由于IIS7中Js文件的mime类型默认被设置为application/x-javascript,也就是说对于js文件,使用的是动态内容压缩而不是静态
内容压缩,因此会导致js文件有时经过压缩的,有时却没有压缩。
由于js文件通常稳定之后不会再被修改了,因此建议改成静态压缩——即把dynamicTypes这一节中的application/x-javascript挪到
静态压缩节中。这样保证每次脚本都是被压缩过返回的。
4、静态压缩及动态压缩的区别
IIS7中的HTTP压缩分为“静态内容压缩”和“动态内容压缩”,其实这两个名字第一次接触很费解。什么是动态内容什么又是静态内
容?实际上,准确的翻译应该是“静态压缩”和“动态压缩”。这两个词反应了IIS的压缩行为。对于配置在staticTypes节中的mime类
型,将会启用静态压缩,也就是说,当文件第一次被请求的时候,IIS会将其压缩,然后放入临时文件夹中,下次再有人请求此文
件时直接从临时文件夹中取出压缩后的版本而不用重新执行压缩的过程。配置在dynamicTypes一节中的mime类型的http请求都将
启用动态压缩,即每一次请求,主机都会对请求的内容——可能是存放在文件系统中的静态文件,也可能是ISAPI返回的内容——
进行压缩,而不会对其进行缓存。这个压缩比率因主机性能不同而会有所调整,所以我们在请求js文件的时候才会发现js文件有时
压缩有时不压缩的情况。
显而易见,静态压缩会占用一定的存储空间,但是速度快,而动态压缩不占用存储空间,但是占用CPU时间,而且压缩比不恒
定。而对于经过ISAPI的请求,则不能使用静态压缩方式。例如对于WCF返回的内容。
5、总结
所有操作配置修改后,重启服务IIS Admin 和cmd 命令后的iisreset重启服务。
IIS配置Gzip压缩,提升访问性能相关推荐
- vite配置gzip压缩
vite配置gzip压缩 前段时间由于贫穷,用了家里的电脑做服务器,白嫖了同事的frp,映射到同事的服务器,达到可以公网访问的目的,预感到frp相对会慢一点点,没想到这么慢 ,发现vite打包后的部分 ...
- 启用IIS的Gzip压缩功能
启用IIS的Gzip压缩功能 现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍 ...
- nginx开启Gzip压缩,Vue性能优化之使用gzip压缩打包
一.前言 不管是vue项目还是react项目在使用webpack打包之后都会生成一个动辄一两兆甚至更大的js文件,在某些情况下严重影响项目性能,打开页面的时候白屏时间会很长,本文将介绍如何使用gzip ...
- 启用IIS的Gzip压缩 【转】
现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传 输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的 ...
- IIS 配置允许跨域访问
在配置文件中 配置如下 即可 <configuration> <system.webServer> <httpProtocol> <customHeaders ...
- Tomcat启用GZIP压缩,提升web性能
一.前言 最近做了个项目,遇到这么一个问题:服务器返回给客户端的json数据量太大(大概65M),在客户端加载了1分多钟才渲染完毕(当然这加载时间也和本地的下行带宽有关),费时耗流量,用户体验极其不好 ...
- 性能优化实践:快速开启 Gzip 压缩
概念初探 Gzip,全称为 GNU zip,是一种无损压缩文件的算法.其底采用的是 DEFLATE,而 DEFLATE 是 LZ77 与 哈夫曼编码 的一个组合体. 通常来说,"Gzip 压 ...
- web性能优化--用gzip压缩资源文件
#一.gzip压缩技术 gzip(GNU- ZIP)是一种压缩技术.经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会快得多.gzip的压缩页面需要浏览器和服务器双 ...
- ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
在介绍之前,先简单说一说ASP.NET服务端GZIP压缩模块的作用及工作原理,很多人编写网页的时候页面因为使用了大量的JS特效又或者放置很多大型动态广告导致了页面或脚本体积庞大,通常都会使用一些压缩工 ...
最新文章
- Java基础01 从HelloWorld到面向对象
- Centos配置在线yum源
- 数组|leetcode209.长度最小的子数组
- Service Mesh 高可用在企业级生产中的实践
- codeforces82 D. Two out of Three(记忆化搜索)
- GDB下查看内存命令(x命令)
- 点云着色系列之按坐标轴着色效果展示
- 怎么把线稿提取出来_PS教程:提取线稿如此简单?三种方法总有一种适合你
- SQL Server时间粒度系列----第4节季、年时间粒度详解
- QQ 被曝搜集浏览器历史记录;饿了么回应骑手自焚;原锤子团队被合并暂停手机研发;| 极客头条...
- vue企业门户网站模板_6 个火爆 GitHub 的后台管理模板,快来收藏!
- Java语言实现查找最长前缀
- TeaVM的samples/benchmark范例运行办法
- Music-Downloader:功能强大的音乐下载器
- c语言中eof的作用,C语言中EOF是什么意思?
- 69个经典Java面试题和答案详解,手慢无
- python搜索pdf内容所在页码_使用pyPDF从文档中检索页码
- 互联网“香饽饽”?数据挖掘或成热门行业
- 自适应中值滤波器python实现
- 微信电脑版只能扫码登录的原因,你一定想不到