Víte kdy můžete mít super výkonný server a 100 Mbitové připojení a stránka se vám bude pomalu načítat? Když to přeženete s počtem elementů na stránce, které se musí postupně stahovat. Pokud nevíte o čem je řeč zkuste si představit jednoduchou webovou stránku třeba eshopu, kde je naráz 1000 produktů a u každého z nich obrázek. Klidně může být malý třeba 1 KB. Bude se načítat velice pomalu a bude za to moct váš internetový prohlížeč.
Každý prohlížeč dokáže v jeden okamžik stahovat jen omezené množství elementů, které se nachází na stránce. Pokud si pamatujete staré doby chatování možná se vám vybaví chatovací okno se spoustou smajlíků. Ačkoliv to byli pidiobrázky prohlížeč je nenačetl naráz ale postupně. Dneska už doba pokročila a prohlížeče dokáží naráz stáhnout desítky elementů v jeden okamžik. Na druhou stranu běžný redakční systém také natahuje daleko více částí stránek.
Kolik elementů stahuje vaše stránka si můžete snadno zjistit na tools.pingdom.com. Zřejmě budete překvapeni, že i jeden vložený kód (například počítadlo) znamená i několik různých skriptů. Jak s načítáním stránky prohlížeč zápolí uvidíte na takzvaném vodopádu.
Jednotlivé prohlížeče mají různé parametry kolik toho dokáží paralelně stahovat. Navíc mají limit pro jednotlivé spojení na hostname (adresa/název počítače).
Jak vidíte Internet Explorer verze 11 dokáže v rámci jedné hostname naráz stáhnout až 13 položek a 17 celkově. Oproti tomu nejnovější Chrome 34 jen 6 v rámci jedné domény a 10 celkově. Eshop s desítkami položek se tak bude nahrávat opravdu pomalu.
Už možná tušíte, že by se dalo spousta věcí urychlit pokud bychom například stránku, kde je celkově potřeba 30 připojení rozložili na 3 anebo více hostname. To se v praxi samozřejmě používá. Stačí nám k tomu využít domény třetího řádu. Například:
- img.uloziste.doména.cz
- js.uloziste.doména.cz
- css.uloziste.doména.cz
Ve skutečnosti se nejčastěji využívá jen jedna subdoména. Google i Yahoo! však označují jako ideální počet domény dvě. Ačkoliv moderní prohlížeče už zvládnou i paralelní stahování z šesti hostů nedoporučuje se využívat více než 3. Určitě se ujistěte, že nic nebrání prohlížeči ukládat zdroje do cache.
Abychom nemuseli kvůli tomu nahrávat soubory zvlášť můžeme použít .htaccess a vyrobit jakési falešné subdomény a přitom pracovat se soubory v adresářích.
Toto řešení využívají i moderní CDN (Content delivery network někdy také content distribution network). Pokud tedy používáte například velice oblíbený CloudFlare, nemusíte se s touto formou optimalizace vůbec zabývat.
Tento článek byl byl přečten 1798 krát