Ho un sito Web in asp.NET 4 (C#).Qual è il vantaggio della compressione GZIP vs DEFLATE?
Sto cercando di trovare un modo per ottimizzare meglio la larghezza di banda per il mio sito web.
Ho letto molti articoli dicendo che DEFLATE è più veloce e più piccolo di GZIP perché GZIP (basato su DEFLATE) aggiunge alcuni dati aggiuntivi.
Controllare le intestazioni di bing.com e google.com sembra che entrambi inviino dati codificati GZIP.
Supponendo che quello che ho letto sia vero, mi manca il vantaggio di GZIP in questo caso. Quindi sospetto che ci dovrebbe essere una buona ragione per preferire GZIP a DEFLATE.
Le mie domande:
- fa GZIP offrono alcun vantaggio rispetto DEFLATE io non sono a conoscenza?
- Qualsiasi indizio del perché i principali motori di ricerca utilizzano GZIP?
Ecco il codice che sto utilizzando per inviare DEFLATE (da 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 = new GZipStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
}
Vedi http://stackoverflow.com/questions/388595/why-use-deflate- invece-di-gzip-per-file di testo-servito da apache –
Grazie Paul per la tua revisione. – GibboK
Tutte le risposte sono errate/incomplete, eccetto questo: http://stackoverflow.com/a/9856879/632951 – Pacerier