Hvorfor bruge Googles jQuery.js fremfor din egen kopi?

Man kunne tænke, at når vi udvikler en hjemmeside, er det smart at have sine ressourcer (billeder, scriptfiler, css-filer osv) liggende lokalt på serveren sammen med resten af sitet. Men det er det faktisk ikke. 

Hvis vi tager eksemplet med jQuery.js, som Google faktisk hoster ganske gratis på deres CDN, får vi følgende tre fordele ved at pege på deres link: ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js

  • Nedsat svartid. Et CDN er et system af flere servere, der holder en kopi af filen, og der er så éen URL til filen. CDN’en giver dig så den fil, der er nærmest (dvs. med laveste svartid), uanset hvor du som bruger tilgår filen. I dette tilfælde jQuery.js.
  • Flere simultane hentninger. De fleste browsere har et maks antal simultane hentninger fra samme server. De fleste har en grænse mellem 4-8, men det er også set helt ned til 2. Dette er for at spare serveren for belastning, men kan betyde en meget lang samlet svartid for hele sitet. Hvis sitet består af 10 elementer (html, css’er, js’er og billeder), og du sidder med en browser der kun henter to elementer af gangen, går der altså længere tid. Men hvis nogle af disse elementer, f.eks. jQuery.js, ligger på en anden server, tæller det ikke med i de simultane hentninger fra din server.
  • Bedre caching. Når du bruger en kendt CDN til at hente en ofte brugt fil som f.eks. jQuery via Google AJAX Libraries CDN, kan det være, at dine brugere slet ikke henter jQuery.js overhovedet. Dette er fordi, at din browser cacher alle filer den henter. Dog, hvis den henter en lokal jQuery.js fra 3 forskellige sites, er det også tre forskellige filer i sin cache. Men hvis du går ind på et stort kendt site, der bruger Googles AJAX Library’s jQuery.js, og du efterfølgende går ind på dit eget site, der bruger samme jQuery.js, er filen allerede cachet og bliver derfor ikke hentet. Smart!

Læs meget mere på dette site inkl. gode tips til den bedste måde at implementere det på.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *