2013-02-06 130 views
12

是否可以在简单的Azure网站上启用gzip压缩? 如果是这样怎么办? 在Azure网站上应用gzip时有什么需要考虑的吗?Windows Azure网站中的gzip压缩

+0

检查这个帖子http://social.msdn.microsoft.com/Forums/hu-HU/windowsazuredevelopment/thread/a942a5bf-5f23-4b3f-8788-ace9efa5c7b6 –

+0

您是否尝试过通过更改网页,使压缩的.config?请参阅http://stackoverflow.com/a/7171979/209727 –

+0

可能的重复[如何在Windows Azure动态内容上启用gzip HTTP压缩](http://stackoverflow.com/questions/2775261/how-to-enable- gzip-http-compression-on-windows-azure-dynamic-content) –

回答

11

我刚刚检查了一个我的天蓝色网站,它看起来像gzip正在工作。我没有什么特别的web.config,所以我认为它必须默认启用。

+1

有关你是如何检查gzip工作的?我在IIS中启用了gzip压缩。但是,当我访问一个天蓝色的图像时,虽然我的请求标头为“Accept-Encode:gzip,deflate”,但我并未在响应头文件中获取“Content-Encode:gzip”。你可以建议如何压缩图像? – mmssaann

+0

查看响应标题和内容大小。 https://dl.dropboxusercontent.com/u/613427/gzip.png –

+1

是的我知道你正在获取内容编码:gzip的响应标题,但我没有得到我的图像,虽然我已经在IIS中启用压缩。想知道我还需要做什么? – mmssaann

3

Per @ DavideB对已接受答案的评论,我发现你可以通过web.config配置Azure/IIS。 [MSDN source]

<configuration> 
    <system.webServer> 

    <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
     <scheme name="gzip" dll="%windir%\system32\inetsrv\gzip.dll" 
       doDynamicCompression="true" doStaticCompression="true" 
       staticCompressionLevel="7" dynamicCompressionLevel="7" /> 

     <staticTypes> 
     <add mimeType="*/*" enabled="true" /> 
     </staticTypes> 
     <dynamicTypes> 
     <add mimeType="*/*" enabled="true" /> 
     </dynamicTypes> 

    </httpCompression> 

    </system.webServer> 
</configuration> 

请注意:

  1. 这只会在Azure中工作,或者与IIS安装了正确的功能(例如,如果你使用IISExpress或香草IIS你运气不好,请参阅文章中的正确功能以及本地测试的配置说明)。

  2. 静态和动态资源的压缩是独立配置的,并且具有单独的默认值;在实践中,你应该比我更仔细地配置你的mimetypes和压缩级别。

  3. 压缩级别介于0和10之间,其中0 == off和10 == maximum;在这里,我将我的设置设置为7,理由是这可能是CPU使用率和压缩率之间的良好折衷。