开启静态文件gzip压缩有利于提高网站的访问速度,同时也能够减少蜘蛛爬行静态页面的time-taken。对于用户体验会提升,对于搜索引擎蜘蛛也是非常友好的!
并且访问打开网站速度是影响google搜索引擎排名的因素之一,time-taken如果不够理想化,那么就会导致蜘蛛爬去的页面量减少。
实际上IIS7要比IIS6在静态压缩上有较大进步,IIS6中,静态压缩是在一个不同的线程上进行的,在收到一个HTTP请求之后,会在第一时间向浏览器发送一个并没有被压缩过的HTML,并且该文件会长期保存在缓存文件中。这当然会影响网页的访问速度了。只有在压缩完成之后,才会直接从缓存文件夹中调用压缩后的版本并返回给浏览器。
但是在IIS7中,压缩则是在主线程上进行的,节省了压缩成本的同时,IIS7不会对所有的HTTP请求进行保存,而是会对用户经常访问感兴趣的静态页面进行压缩并长期保存。对于被非经常访问的页面通常不会被保存在缓存中,而是保存在服务器中或是临时缓存中,之后就会被清除掉。
IIS7到底是如何定义文件是否是经常被访问的文件并符合压缩标准的那?
system.webServer/serverRuntime中的一下两个属性,frequentHitThreshold和frequentHitTimePeriod。如果IIS在frequentHitThreshold时间段内接收到了对某个静态文件的超过frequentHitThreshold闸值次数的访问,那么IIS7也会像IIS6一样压缩该静态文件并且将其长期保存在压缩文件的缓存文件夹中。如果访问者访问的文件已经在缓存文件中,那么IIS7是不会再判断frequentHitThreshold这个逻辑而是直接返回压缩版本给浏览器。
如果想要让IIS7向IIS6一样做压缩,那就只能去修改frequentHitThreshold和frequentHi