Noen nettsider dukker opp nesten momentant, andre bruker flere sekunder bare på å vise noe som helst, selv med en rask internettforbindelse i bunn. Du har sikkert opplevd frustrasjonen ved å sitte og se på en tom, hvit skjerm mens du venter, uten helt å forstå hvorfor akkurat denne siden tar så mye lengre tid enn andre du besøker daglig.
Kofferten og flyttelasset
Farten avhenger stort sett av hvor mye siden må laste og bearbeide før den er klar: store bilder, mange skript, tunge skrifttyper. Det er som forskjellen på å flytte med en liten koffert og et fullt flyttelass, jo mer som skal fraktes og pakkes ut, desto lenger tid tar det, uansett hvor rask bilen din er.
En rask internettforbindelse er som en rask flyttebil. Den hjelper deg absolutt, men løser ikke problemet alene hvis lasset i seg selv er altfor stort. En superrask bil som frakter et helt hus fullt av møbler bruker fortsatt lang tid på å laste av alt sammen ved bestemmelsesstedet, uansett hvor kjapt selve kjøreturen gikk. Nettsider fungerer på akkurat samme måte, en rask forbindelse hjelper deg å hente lasset raskt, men selve lasset må uansett pakkes ut og settes sammen før du ser noe ferdig resultat.
Hva som faktisk tar tid
Når en nettside laster, må nettleseren hente ned HTML, CSS, JavaScript, bilder og ofte skrifttyper fra en eller flere servere. Hver av disse filene må lastes ned, og noen av dem må være på plass før andre kan begynne å lastes, litt som at du må finne nøkkelen før du kan låse opp døren og bære inn resten av flyttelasset.
Denne rekkefølgen skaper ofte flaskehalser som ikke er åpenbare ved første øyekast. En tung skrifttype som lastes sent kan for eksempel gjøre at teksten på siden ikke vises i det hele tatt før skrifttypen er ferdig lastet, selv om selve teksten i seg selv var klar for lengst. Det ligner på å ikke kunne bære inn møblene før flyttebilen har rukket å parkere riktig, selv om møblene i seg selv har vært klare i bilen hele tiden.
Store bilder er ofte synderen
Den vanligste årsaken til trege nettsider er ukomprimerte bilder, et enkelt foto rett fra et moderne kamera kan være flere titalls megabyte, langt mer enn nødvendig for å vises på en skjerm. Godt optimaliserte sider komprimerer bilder kraftig før de publiseres, uten at kvaliteten øyensynlig blir dårligere for den som ser på dem.
Dette er litt som å pakke flyttelasset smart. Et bilde direkte fra kameraet er som et møbel pakket med masse unødvendig luft og fyllmateriale rundt seg, langt større enn det egentlig trenger å være for å komme trygt fram. Riktig komprimert tar samme bilde langt mindre plass, uten at noen som ser det ferdige resultatet merker forskjell, akkurat som et møbel pakket stramt og effektivt fortsatt ankommer i perfekt stand.
Å laste bare det du trenger først
En annen teknikk kalles lat lasting, der bilder lenger ned på siden ikke lastes før du faktisk skroller ned til dem. Slik bruker nettleseren tid og båndbredde på det du faktisk ser med en gang, og utsetter resten til du faktisk trenger det, i stedet for å laste hele siden på én gang før noe som helst vises.
Det ligner på en flytting der du bare bærer inn møblene til stua først, siden det er der du skal sitte med en gang, og lar resten av lasset stå igjen i bilen til du faktisk trenger det i de andre rommene. Denne strategien gjør at den første opplevelsen av siden føles rask, selv om det totale innholdet på hele siden fortsatt er akkurat like stort som før.
Hva som skjer på serversiden også
Hastighet handler ikke bare om hva som skjer i din egen nettleser. Serveren som sender innholdet må selv finne fram og klargjøre det du ba om, en prosess som kan ta ulik tid avhengig av hvor komplekst innholdet er og hvor mye trafikk serveren håndterer akkurat i det øyeblikket. En treg server ligner på en flyttebil som bruker unødvendig lang tid bare på å komme seg ut av garasjen, før den overhodet har begynt på selve kjøreturen til deg.
Mange raske nettsteder bruker derfor teknikker som forhåndsberegner og mellomlagrer ferdig innhold, slik at serveren ikke må gjøre samme tunge jobb fra bunnen av for hver eneste besøkende, men i stedet kan servere noe som allerede står klart og ferdig pakket, akkurat som en flyttebil som allerede har lasset klart før den overhodet trenger å bli bestilt.
Hvorfor er dette nyttig å vite
Merker du at en side er treg gjentatte ganger, er det som regel siden selv som bærer for mye, ikke nødvendigvis internettlinjen din. Skylder du automatisk på egen internettforbindelse hver gang noe laster sakte, kan det være verdt å teste en helt annen nettside samtidig for å se om problemet faktisk følger deg, eller om det bare gjelder akkurat den ene siden.
Det er også verdt å vite om du selv lager nettsider: bildeoptimalisering alene kan være forskjellen mellom en side som føles rask og en som føles treg, ofte uten at besøkende engang merker at bildene er mindre. Det er sjelden den mest kompliserte tekniske løsningen som gir størst gevinst, ofte er det rett og slett å pakke lasset smartere før turen i det hele tatt begynner.
Neste gang du venter unormalt lenge på en nettside, kan det være verdt å åpne utviklerverktøyene i nettleseren, tilgjengelig i de fleste moderne nettlesere med noen få klikk, og se nøyaktig hvilken fil som tar lengst tid å laste. Ofte er svaret akkurat det du nå vet å lete etter: et altfor stort, ukomprimert bilde som ingen har husket å pakke ordentlig før avreise.