Avatar billede karl-koder Nybegynder
22. september 2008 - 20:02 Der er 5 kommentarer og
1 løsning

GZip er det nok ?

Hejsa,

Jeg faldt over en artikel der beskriver Gzip i asp.net. I artiklen er der lavet denne meget simple kode :

HttpApplication app = (HttpApplication)sender;
string acceptEncoding = app.Request.Headers["Accept-Encoding"];
Stream prevUncompressedStream = app.Response.Filter;

if (acceptEncoding == null || acceptEncoding.Length == 0)
{
    return;
}

acceptEncoding = acceptEncoding.ToLower();

if (acceptEncoding.Contains("gzip"))
{
    // gzip
    app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress);
    app.Response.AppendHeader("Content-Encoding", "gzip");
}
else if (acceptEncoding.Contains("deflate"))
{
    // defalte
    app.Response.Filter = new DeflateStream(prevUncompressedStream, CompressionMode.Compress);
    app.Response.AppendHeader("Content-Encoding", "deflate");
}

Koden placeres i global asax filen under Application_BeginRequest, men er det virkeligt nok ?

Og en side der normalt fylder ca. 32kb bliver zippet til ca. 6kb så det ser ud til at virke, men mister jeg noget performance ved at bruge ovenstående stump kode ?
Avatar billede arne_v Ekspert
22. september 2008 - 20:16 #1
Jeg har ikke testet, men det ser OK ud.

Det koster lidt ekstra CPU tid paa serveren men sparer en hel del baandbredde.

Hvis det er lidt stoerre filer som ikke er komprimeret i forvejen, saa er det en
udmaerket ide.
Avatar billede karl-koder Nybegynder
22. september 2008 - 20:20 #2
Ok, jeg har så lige testet det hvor jeg f.eks har jQuery includeret på siden og der går det helt i lort da det åbenbart ikke kan håndtere javascript filer der ligges i headeren.

Kan du give en forklaring på det ?
Avatar billede arne_v Ekspert
22. september 2008 - 20:21 #3
Filens indholder boer vaere helt ligegyldigt. HTML, JavaScript, text behandles helt ens
i GZIP.
Avatar billede karl-koder Nybegynder
22. september 2008 - 20:23 #4
altså noget i denne stil :

<head>
    <script src="../jQuery/jquery.js" type="text/javascript"></script>
</head>

Så kommer FF med en række fejl ala denne :

illegal character
&#65533;
Avatar billede arne_v Ekspert
22. september 2008 - 22:35 #5
Du bliver noedt til at troubleshoot lidt og trace hvad der faktisk bliver sendt.
Avatar billede karl-koder Nybegynder
20. februar 2009 - 00:31 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester