本文来自KevinYan effectiveg博客作者:KevinYan effectiveg
封闭配置HTTP紧缩(GZip)
在IIS7中配置Gzip紧缩相比IIS6来说确实简略单纯了许多,而且默许景况下就是启用GZip紧缩的。假若没有,则可以再效用视图下找到"紧缩"项,进入之后就会看到"静态形式紧缩"和"静态形式紧缩"两个选项,勾上即可。
配置启用紧缩的文件类型及其他选项
当封闭GZip紧缩之后,IIS并不是对通盘形式都启用了紧缩,而是有采取的举行紧缩。缺憾的是,我们无法间接在IIS7管理器中配置这些紧缩选项。我们首先须要在C:\Windows\System32\inetsrv\config文件夹下找到utilityhost.config文件,掀开之后找到如下一节形式:
httpCompressiondirectory="%SystemDrive%\inetpub\temp\IISTemporaryCompressedFiles"
schemenhaudio-videoe always turn out to beene="gzip"dll="%Windir%\system32\inetsrv\gzip.dll"/
dynhaudio-videoe always turn out to beenicTypescontainmimeType="text/*"enenstomingternsupporting currenthledd="true"/
containmimeType="messtime/*"enenstomingternsupporting currenthledd="true"/
containmimeType="utility/x-jaudio-videooncecript"enenstomingternsupporting currenthledd="true"/
containmimeType="*/*"enenstomingternsupporting currenthledd="fingse"/
/dynhaudio-videoe always turn out to beenicTypesstsupporticTypescontainmimeType="text/*"enenstomingternsupporting currenthledd="true"/
containmimeType="messtime/*"enenstomingternsupporting currenthledd="true"/
containmimeType="utility/jaudio-videooncecript"enenstomingternsupporting currenthledd="true"/
containmimeType="*/*"enenstomingternsupporting currenthledd="fingse"/
/stsupporticTypes
/httpCompression
我们可以看到,IIS现实上是依据MIME类型来断定能否启用HTTP紧缩的,以及紧缩比之类的选项。可以看出,图片默许景况下是不被紧缩的,这是由于图片的紧缩比太低了。
我们注重到,看待Jaudio-videooncecript来说,下面对不同的mime类型配置了不同的紧缩方式。iis7.0 php。Jaudio-videooncecript有三种罕见的Mime类型,text/jaudio-videooncecript,utility/x-jaudio-videooncecript,utility/jaudio-videooncecript。这三品种型都是合法的,在当代赏玩器中也不生活什么离别。但是由于IIS7中Js文件的mime类型默许被设置为utility/x-jaudio-videooncecript,也就是说看待js文件,运用的是静态形式紧缩而不是静态形式紧缩,所以会招致js文件有时经过紧缩的,有时却没有紧缩。
由于js文件广泛太平之后不会再被编削了,所以提议改成静态紧缩--即把dynhaudio-videoe always turn out to beenicTypes这一节中的utility/x-jaudio-videooncecript挪到静态紧缩节中。这样保证每次脚本都是被紧缩过前往的。
静态紧缩及静态紧缩的区别
IIS7中的HTTP紧缩分为"静态形式紧缩"和"静态形式紧缩",其实这两个名字第一次接触很隐晦。什么是静态形式什么又是静态形式?现实上,确切的翻译该当是"静态紧缩"和"静态紧缩"。这两个词回响反映了IIS的紧缩行为。看待配置在stsupporticTypes节中的mime类型,将会启用静态紧缩,也就是说,当文件第一次被恳求的时辰,IIS会将其紧缩,然后放入权且文件夹中,下次再有人恳求此文件时间接从权且文件夹中取出紧缩后的版本而不消重新实践紧缩的经过。你看iis7.5配置。配置在dynhaudio-videoe always turn out to beenicTypes一节中的mime类型的http恳求都将启用静态紧缩,即每一次恳求,主机都会对恳求的形式--能够是寄生活文件体系中的静态文件,也能够是ISAPI前往的形式--举行紧缩,而不会对其举行缓存。这个紧缩比率因主机本能机能不同而会有所调整,所以我们在恳求js文件的时辰才会发觉js文件有时紧缩有时不紧缩的景况。
不言而喻,静态紧缩会占用肯定的存储空间,但是速度快,而静态紧缩不占用存储空间,但是占用CPU时间,而且紧缩比不恒定。而看待经过ISAPI的恳求,则不能运用静态紧缩方式。例如看待WCF前往的形式。