Hva skjer i løpet av de få øyeblikkene mellom når du klikker på en lenke til nettsiden vises

- Ole Andersen

I det nøyaktige øyeblikket vi trykker «Enter» etter å ha skrevet inn et nettsted i nettleserens adresselinje eller klikket på en hyperkobling, starter vi en utrolig kompleks prosedyre som på en brøkdel av et sekund viser oss nettsiden vi lette etter. Det som for oss fremstår som en umiddelbar prosess er i virkeligheten et høyhastighetsrelé som involverer et globalt nettverk av infrastrukturer og protokoller. Først og fremst er nettleseren involvert, som i likhet med en sofistikert og utrettelig tolk fungerer som en bro mellom oss og «repositoriene» av data og informasjon spredt over hele kloden.

I noen få øyeblikk som går mellom å klikke på en lenke og til en nettside vises faktisk er det nettleseren som må forstå hvor nøyaktig det digitale «stedet» som brukeren ønsker å nå befinner seg. Når denne geografisk-digitale gåten er løst takket være adresseoversettelsessystemer, sendes en formell forespørsel til en ekstern datamaskin, serveren. Hvis forespørselen aksepteres, kommer ikke dataene som en enkelt blokk, men demonteres i bittesmå fragmenter for å reise enkelt over nettverkskabler, for deretter å settes sammen igjen med kirurgisk presisjon på enheten vår. Først på slutten av denne transporten spiller komposisjonskunsten inn: Nettleseren mottar råkoder som definerer struktur, stil og interaktivitet (vi snakker om HTML, CSS og JavaScript) og «maler» dem på skjermen på PC-en eller smarttelefonen vår, piksel etter piksel. I de følgende avsnittene vil vi utforske i detalj hvordan disse dataene blir oversatt fra enkle tekststrenger til rike og interaktive visuelle opplevelser, og avslører logikken som lar milliarder av enheter snakke med hverandre samtidig uten å krasje det globale kommunikasjonssystemet.

Mellom å klikke på lenken og nettsiden: hvordan komme fra klienten til serveren

For å fordype oss i detaljene i denne mekanismen, må vi først gjøre oss kjent med de to aktørene som gjør enhver utveksling mulig på nettet: klient og den server. Når vi surfer, er enhetene våre, uavhengig av hva de er, klienten, enten det er en PC, en smarttelefon, et nettbrett, en smart-TV, etc.; på den andre siden av gjerdet er serveren, en ekstern datamaskin designet for å være vert for nettsteder og distribuere dem til de som ber om dem.

Interaksjonen skjer når vi skriver en URL: Nettleseren må umiddelbart finne ut hvilken numerisk adresse det navnet tilsvarer, siden datamaskiner ikke tenker i termer som «geopop.it, men de bruker unike numeriske koordinater, kjent som IP-adresser (for eksempel 192.0.2.172). For å få denne informasjonen, konsulterer nettleseren DNS (Domenenavnsystem), som fungerer akkurat som en telefonbok: vi vet navnet på kontakten, og systemet gir oss nummeret som trengs for å ringe ham. Når riktig adresse er oppnådd, sender nettleseren en forespørsel via protokollen HTTP (eller HTTPSdens krypterte og sikre versjon), som representerer lingua franca for nettkommunikasjon. Hvis serveren mottar forespørselen riktig og siden er tilgjengelig, svarer den med en bekreftelsesmelding, vanligvis koden «200 OK»og start dataoverføringen.

Magien med pakkeveksling

Det er her en av de mest fascinerende aspektene ved nettverksteknikk kommer inn: serveren sender oss ikke hele nettstedet i en monolittisk blokk. I stedet blir innholdet fragmentert i små biter kalt «pakker»som reiser over nettverket ved hjelp av protokollpakken TCP/IP. Denne teknikken, kjent som pakkevekslinger avgjørende for effektiviteten til Internett. For det første, hvis en datapakke blir ødelagt eller tapt, ber systemet bare om det spesifikke fragmentet igjen, noe som sikrer stabilitet. Videre kan pakker ta forskjellige ruter for å nå målet, optimalisere hastigheten og tillate millioner av brukere å laste ned innhold samtidig uten å tette en enkelt linje, noe som ville skje hvis filene reiste i ett stykke, og blokkerte trafikk for andre. Når alle pakkene når nettleseren vår, blir de omorganisert og komponert på nytt for å danne de originale filene.

På dette tidspunktet har nettleseren råvarene i hånden, som vi kan dele inn i to makrokategorier: kode og den ressurser (som bilder, videoer eller PDF-er). «Hjernen» på nettstedet består av tre forskjellige språk som fungerer i synergi. Vi finnerHTMLsom bygger skjelettet og strukturen til siden; De CSSsom tar seg av designen, definerer farger, fonter og layout; og til slutt JavaScriptsom håndterer logikk, animasjoner og interaktivitet. Nettleseren følger en streng rekkefølge for å sette sammen disse delene: den starter med å analysere HTML-en for å bygge et elementkart kalt SOL (Dokumentobjektmodell). Hvis du under denne lesingen møter referanser til eksterne stilark eller skript, send nye forespørsler om å laste dem ned. CSS behandles i en parallell struktur kalt CSSOMsom dikterer hvordan hvert element i DOM skal vises visuelt. Først da kjøres JavaScript-koden, som dynamisk kan endre det som nettopp er bygget. Det er først når nettleserens gjengivelsesmotor slår sammen DOM og CSSOM at den endelige «sammensetningen» på skjermen skjer, noe som gjør siden synlig og klikkbar. Alt dette støttes av sikkerhetstiltak som sertifikater SSL/TLSsom beskytter dataene våre under transport, og håndtering av informasjonskapsler, som lar nettstedet huske våre preferanser.

Neste gang du klikker på en lenke, kanskje den i artikkelen foreslått nedenfor, stopper du opp et øyeblikk og tenk på hvor mange prosesser som utløses og løses i løpet av noen hundre millisekunder. Virkelig utrolig!