Recent am lucrat la un proiect de site si la care am facut niste schimbari majore in design Chamonix, la am facut niste optimizari frontend pentru incarcarea mai rapida a sitului in diferitele browsere care exista. Paginile web se incarca greu din cauza elementelor frontend si nu backend, deci un server web raspunde foarte repede la cereri, ca sunt ele http ca este vorba de php sau asp, ca este vorba de query catre un database etc. Problemele de incarcare a unei pagini apar din cauza designului paginii si a elementelor care o compun, javascript, css, imagini layout, html, imagini content, flash etc. Nu o sa intru in detalii la toate optimizarile care le-am facut eu, o sa ma opresc doar la cererile http. Un tool cu care se pot vedea cate pagini http sunt facute intr-o anumita pagina este Yslow .
Browserele fac cereri http limitate in functie de browser si de versiune, care face 4 cereri odata care face 8 etc...nu intru in detalii la cate cereri face internet explorer sau firefox. Daca noi avem multe elemente de incarcat, (de exemplu 4 scripturi js, 30 de imagini pentru layout 4 fisiere css html, 20 de poze content, banere s.a.m.d. ), elementelor astea le corespund o cerere http, deci daca browserul are limita de 4 cereri http se vor incarca 4 scripturi js, ulterior 4 imagini, alte 4 imagini si tot asa.
O tehnica pe care am folosito la proiectul de mai sus, este CSS Sprites, am combinat mai multe imagini de layout, circa 50 de imagini .png intr-un singur fisier .png (imaginea atasata), deci doar facind asta am redus 50 de cereri http la 1 singura. Care sunt avantajele? Multe, enorme. Reducind cererile in felul asta, pagina web se incarca mult mai repede, ramine spatiu pentru cereri http a altor elemente, cum ar fi scripturi javascript, html si altele. Un alt aspect pe care l-am observat este ca 50 de imagini de layout separate (cind e vorba de layout cu putine colori, mai simplu) cintaresc mai mult(de 3-4 ori mai mult) decat imaginea pentru CSS Sprites. Tot pentru a avea mai putine cereri http e bine sa avem un singur fisier mai mare css, decit mai multe. Binenteles ca realizarea unui fisier css folosind o imagine CSS Sprites este un pic mai complex, dar rezultatele finale demonstreaza ca se merita efortul.