这两种方法为LAMP服务器提供的html,css和javascript文件提供了哪些优势.还有更好的选择吗?
服务器使用Json向地图应用程序提供信息,因此大量的小文件.
zOompf已经完成了这个题目了一些非常深入的研究在这里.它胜过下面的任何发现.
一些背景信息的GZIP和DEFLATE(zlib)的HTTP 1.1定义:
"'Gzip'是gzip格式,'deflate'是zlib格式.它们应该调用第二个'zlib'来避免与原始deflate压缩数据格式混淆.虽然HTTP 1.1 RFC 2616正确指向RFC 1950中针对'deflate'传输编码的zlib规范,有报告称服务器和浏览器根据RFC 1951中的deflate规范错误地生成或期望原始deflate数据,最明显的是Microsoft产品.所以尽管'deflate'使用zlib格式的传输编码将是更有效的方法(实际上正是 zlib格式的设计),使用'gzip'传输编码可能更可靠,因为HTTP上的名称选择不幸1.1作者." (来源:http://www.gzip.org/zlib/zlib_faq.html)
所以,我的问题是:如果我使用NO zlib包装器发送RAW deflate数据(或gzip,就此而言)是否有任何现代浏览器(例如,IE6和更高版本,FF,Chrome,Safari等)无法理解原始的deflate压缩数据(假设HTTP请求标头"Accept-Encoding"包含"deflate")?
放气数据总是比GZIP小几个字节.
如果所有这些浏览器都能成功解码数据,那么发送RAW deflate而不是zlib会有什么缺点?
我有一个asp.NET 4(C#)的网站.
我正在努力寻找一种方法来更好地优化我的网站带宽.
我读了许多文章说DEFLATE比GZIP更快更小,因为GZIP(基于DEFLATE)增加了一些额外的数据.
检查bing.com和google.com的标题,它们似乎都发送了GZIP编码的数据.
假设我读到的是真的,我在这种情况下错过了GZIP的优势.所以我怀疑应该有一个很好的理由来选择GZIP来解决.
我的问题:
这是我用来发送DEFLATE的代码(来自Global.asax):
protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
string acceptEncoding = app.Request.Headers["Accept-Encoding"];
Stream prevUncompressedStream = app.Response.Filter;
if (!(app.Context.CurrentHandler is Page ||
app.Context.CurrentHandler.GetType().Name == "SyncSessionlessHandler") ||
app.Request["HTTP_X_MICROSOFTAJAX"] != null)
return;
if (acceptEncoding == null || acceptEncoding.Length == 0)
return;
acceptEncoding = acceptEncoding.ToLower();
if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
{
// defalte
app.Response.Filter = new DeflateStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "deflate");
}
else if (acceptEncoding.Contains("gzip"))
{
// gzip
app.Response.Filter …Run Code Online (Sandbox Code Playgroud) 我们最近将一些网站从deflate切换到gzip,并注意到我们的服务器上的CPU负载显着增加.
哪种压缩方法更好?我听说很多关于GZip被广泛使用的来回,但Deflate更快(在某些情况下).是否有一个可以使用的标准,为什么?
deflate ×4
gzip ×4
compression ×3
optimization ×2
apache ×1
asp.net ×1
c# ×1
html ×1
http-headers ×1
iis ×1
lamp ×1
sysadmin ×1
zlib ×1