Har du nogensinde undret dig over, hvad det kræver for at få en webside indlæst i din browser? Afhængig af din internetforbindelse, skriver du URL-adressen eller adressen til en webside og trykker på "Enter" -knappen, kommer du næsten øjeblikkeligt til den webside. Det kan være en langsommere proces på langsommere forbindelser, men du kan stadig komme til en side relativt hurtigt. Hvad sker der bag kulisserne for at få det hele til at ske? Følg med nedenfor, så viser vi dig, hvad der foregår!
Server til browser-kommunikation
I lægmandsbetingelser, når du indtaster et link i din adresselinje eller klikker på et link på en side, anmoder browseren en anmodning til serveren, hvor adressen er hostet. Derfra downloades ressourcerne til siden, og browseren bruger derefter disse ressourcer til at gengive siden og vise det endelige produkt til dig.
Det er dog lidt mere kompliceret end det.
Et hurtigt ord på webadresser
Når du indtaster en URL, f.eks. Www.google.com, er det lige det, du ser. Computeren ser noget andet. Når du har indtastet det og trykket på enter, kører det gennem en Domain Name Server (DNS) og konverterer den til en IP-adresse - noget computeren kan læse. Så mens du muligvis ser www.google.com, tager browseren det, sender den gennem en DNS-server, og så opretter du faktisk forbindelse til en af Googles mange IP-adresser, såsom 216.58.216.110 . Du kan faktisk indtaste 216.58.216.110 i adresselinjen og ende på det samme sted.
Hent en webside i din browser
Der er mange bevægelige dele for at få en webside vist korrekt i din browser. Det første trin er imidlertid anmodningen. Du anmoder om en webserver, når du indtaster adressen på det websted, du vil besøge, f.eks. Www.techjunkie.com. Når du trykker på enter, opretter din browser forbindelse til webhosten og anmoder om en masse tekstfiler, der skal downloades.
Det næste trin er webserverens svar. Dette er trinnet, hvor serveren faktisk leverer ressourcerne til browseren. Browseren anmoder om dem (anmodningen), og serveren sender dem over (svaret). Hvordan ved en browser imidlertid, om den har brug for mere end blot en enkelt fil? Det gør dette gennem noget, der kaldes parsing. Med andre ord tager browseren det første dokument på udkig efter eventuelle henvisninger til andre filer. Hvis den ser en henvisning til en anden fil, downloader den den også. Det er meget mere kompliceret end det, men det er kernen i, hvordan den finder alle de nødvendige filer.
Dernæst skal alle de oplysninger, det downloades, bygges. Det tager det originale HTML-dokument, det downloadede, samt alle de relevante ressourcer og skaber en slags struktur eller træ. Det vil først oprette et dokumentobjektkort (DOM), som i det væsentlige er strukturen eller placeringen af elementer på en side. Dernæst bygger det CSS Object Map - strukturen for, hvordan elementer i DOM'en er stylet. Endelig skaber det Render Tree, der dybest set tager DOM og CSS-objektkort, kombinerer dem og skaber en struktur for, hvordan siden er struktureret og stylet.
Og til sidst gengives siden og vises for dig, brugeren. Der er også mange beregninger i dette trin, da browseren skal finde ud af, hvor stort layout er i forhold til din skærm (f.eks. Sidestørrelser vil være forskellige, hvis du er på en tablet, en smartphone eller en computer). Men når det først er tilfældet, får du en sidste og forhåbentlig flot side vist i din browser.
Processen er faktisk ganske forbløffende - alle disse anmodninger og beregninger sker alle inden for få sekunder, afhængigt af hvor hurtig din internetforbindelse er, selvfølgelig. Men for det meste, selvom der kan være hundreder af filer til en webside, sker ovenstående proces let på 10 sekunder eller mindre.
Lukning
Forhåbentlig har vi klart forklaret, hvordan din internetforbindelse, browseren og serverne alle fungerer sammen for at levere dine websider direkte til din browser. Ved at have en dybere forståelse af, hvordan alle disse teknologier flettes sammen og arbejder sammen, vil det ikke kun give dig en bedre forståelse for, hvad der sker bag kulisserne, men kan også hjælpe dig med at fejlfinde alle browserrelaterede problemer.
