Gyorsítsa fel webhelyét HTTP-tömörítéssel

Ebben a fejezetben megvizsgáljuk, miért fontos a tömörítés használata, és hogy milyen hatással lehet a webhelyére. Ez a könyv két kulcsfontosságú koncepción alapul, és ebben a fejezetben azt vizsgáljuk meg, hogy miként lehetne közelebb vinni az A osztályú teljesítmény-webhely célkitűzéséhez:

  • Csökkentse a weboldal által küldött HTTP-kérelmek számát
  • Csökkentse a weboldal által küldött kérések méretét

A tömörítés használatával csökkentheti az egyes HTTP-kérések méretét, amelyeket egy weboldal tesz, és minden egyes csökkentés csökkenti az oldal teljes súlyát. A fejezet végére a .NET webtechnológiai veremben található számos technika segítségével tömörítést alkalmazhat a webhelyén.

Mi a tömörítés?

A tömörítés egyszerűen egy olyan algoritmus, amely kiküszöböli a nem kívánt redundanciát egy fájlból annak érdekében, hogy olyan fájlt hozzon létre, amely kisebb, mint az eredeti ábrázolás. Ha a szerver és a böngésző is megérti ezt az algoritmust, akkor a válasz és a kérés mindkét végén alkalmazható.



A webböngészők jelzik, hogy támogatják a HTTP kérésben a szervernek küldött fejlécek tömörítését. Ezután a webszerver meglátja ezt a fejlécet a kérésben, és ha lehetséges, megpróbálja tömöríteni a visszaküldött választ.

Azért szeretem a tömörítést használni, mert rendkívül egyszerűen kivitelezhető, és ez gyors győzelem. A tömörítés használatával készülünk, de először fontos megérteni a rendelkezésre álló különböző típusú tömörítéseket.

Tipikus HTTP kérés és válasz a Bing.com webhelyre. Figyelje meg az Accept-Encoding és a Content-Encoding fejléceket

Tipikus HTTP kérés és válasz a Bing.com webhelyre. Figyelje meg az Accept-Encoding és a Content-Encoding fejléceket

Ha alaposan megnézi a fenti HTTP kérési ábrát, akkor észreveszi, hogy a böngésző fejlécet küldött Accept-Encoding néven. Ez a fejléc értesíti a szervert arról, hogy támogatja a tömörítést. Valójában többféle tömörítést is észlelhet - a fejléc értesíti a szervert arról, hogy támogatja a Gzip, Deflate és SDCH fájlokat.

A böngésző által támogatott tömörítés típusától függően a kiszolgáló ennek megfelelően tömöríti a tartalmat, és fejlécet ad vissza a HTTP válaszban. Ez a fejléc a Content-Encoding, és a fenti ábra esetében a kiszolgáló válaszot küldött, amelyben értesítette, hogy az adatokat Gzip formátumban tömörítette.

Miért használjam a tömörítést?

Annak érdekében, hogy teszteljem a tömörítés hatékonyságát és a különféle fájltípusok általi megtakarításokat, vettem néhány közös fájlt, amelyekkel találkozni fogsz, és tömörítettem őket a Gzip segítségével.

A Gzip-tömörítés hatása a fájlméretekre

A Gzip-tömörítés hatása a fájlméretekre

A fenti táblázat kiemeli a fájlméret különbségeit a tömörítés hozzáadása előtt és a későbbi különbséget. Néhány fájlban hatalmas különbség van, akár 75% körüli megtakarítással. A Gzip-tömörítés úgy működik, hogy hasonló szövegeket talál egy szövegfájlban, és ezeket a karakterláncokat ideiglenesen lecseréli, hogy a teljes fájlméret kisebb legyen.

Ismételt húrok

Ez a tömörítési forma különösen jól alkalmazható az internet számára, mert a HTML és CSS fájlok általában rengeteg ismétlődő karakterláncot tartalmaznak, például szóköz, címkék és stílusdefiníciók. Ha ismét hivatkozunk a fenti táblázatra, akkor észreveszi, hogy a legnagyobb megtakarításokat a szöveges fájlok is tették, és hogy alig volt nyereség a képfájlban - ez azért van, mert a képfájlok már vannak tömörítve, és a tömörítés újbóli alkalmazása nem nem hoz sok jutalmat.

Közvetlen összefüggés van a fájl mérete és a megvalósuló megtakarítások (tömörítés) mennyisége között is, és főszabály szerint minél nagyobb a fájl, annál nagyobb a megtakarítás. Ez azért történik, mert a kiszolgáló jobban képes tömöríteni a nagyobb, nagyobb szóközt és karakterismétlést tartalmazó fájlokat.

A Chrome fejlesztői eszközöknek valóban van egy beépített eszköze, amely lehetővé teszi a különbségek megtekintését és összehasonlítását a tömörítés alkalmazása előtt és után. Az alábbi ábra ezeket a különbségeket mutatja.

A fájlméretek különbsége a Gzip előtt és után

A fájlméretek különbsége a Gzip előtt és után

A Twitter Bootstrap egy népszerű CSS keretrendszer, amely segít gyorsan fejleszteni a CSS stílusokat, és pillanatok alatt elindulhat és elindulhat a projekttel. A Twitter csapata fejlesztette ki, és valóban hasznos CSS-segítőket tartalmaz.

A szükséges CSS fájlok sok szóközt és stíluscímkét tartalmaznak, ami tökéletes a tömörítéshez. A bootstrap.css fő fájlban sikerült a fájlméretet 21,12 KB-ra csökkenteni, és a fájlméret majdnem 76% -át megtakarítottuk! Ez egy tökéletes példa arra, miért kell tömörítenie a CSS-t és a JavaScript-et.

Ebben a cikkben a FAST ASP.NET webhelyek című könyvben bemutatott technikák közül csak egyet vizsgáltunk, amelyek javítják az oldal betöltési idejét. A FAST ASP.NET webhelyek lépésről lépésre kínálnak .NET-specifikus példákat, amelyek bemutatják, hogyan kell alkalmazni a klasszikus oldaloptimalizálási tippeket, az ASP.NET-specifikus technikákat és az új HTML5-szolgáltatások kihasználásának módjait. Ha javítani kívánja ASP.NET-alkalmazásainak teljesítményét, és néhány teljesítménytrükköt is megtanul végig, akkor ez a könyv az Ön számára. Még akkor is, ha úgy gondolja, hogy webhelye már gyors, biztos vagyok benne, hogy még gyorsabbá teheti!

Szavak: Dean Hume

Ez egy részlet a Gyors ASP.NET webhelyek , most elérhető a Manning Publications oldalon.

Tetszett ez? Olvassa el ezeket!

Van egy nagyszerű technikai tipp? Oszd meg a kommentekben!