Nic*_*icy 4 compression asp.net asp.net-mvc gzip web-config
Google表示 Zopfli提供了更好的gzip功能,并且它与所有浏览器兼容(解压缩相同,压缩需要更长时间,但是你可以获得额外的5-10%的静态文件占用空间)
所以,我知道你可以为静态文件的gzip压缩做到这一点:
<system.webServer>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"
dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="80"
maxDiskSpaceUsage="100" minFileSizeForComp="2700"
noCompressionForRange="true"
sendCacheHeaders="false"
staticCompressionDisableCpuUsage="100"
staticCompressionEnableCpuUsage="80" >
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="4"
staticCompressionLevel="7" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/xml" 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/json" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/rss+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="application/xml" enabled="true" />
<add mimeType="image/svg+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
Run Code Online (Sandbox Code Playgroud)
...
但是,如何在web.config中实现Zopfli而不是标准的GZip库?
Zopfli压缩速度很慢,因此我建议在上传静态文件之前先对其进行压缩,甚至最好对静态文件使用CDN和Zopfli。
如果您使用的是.net,请查看我最近在github上发布的一个库
https://github.com/echovoice/libzopfli-sharp
我派生了Stream类,用法很简单
using (MemoryStream compressStream = new MemoryStream())
using (ZopfliStream compressor = new ZopfliStream(compressStream, ZopfliFormat.ZOPFLI_FORMAT_DEFLATE))
{
compressor.Write(uncompressed, 0, before);
compressor.Close();
compressed = compressStream.ToArray(); // here is the compressed data
}
Run Code Online (Sandbox Code Playgroud)
该库可在Nuget上以libzopfli-sharp的形式获得,https ://www.nuget.org/packages/libzopfli-sharp
因此,可以使用此类创建和注册IIS筛选器,但这将是一个坏主意,并使网站性能更差。
| 归档时间: |
|
| 查看次数: |
2524 次 |
| 最近记录: |