Hoe verwerkt de browser de URL-invoer in de adresbalk?
Wanneer we een bepaalde URL in de browser openen, hoe laadt en toont de browser de inhoud? We laten zien wat de browser op zijn beurt deed, volgens de volgorde waarin de gebeurtenis plaatsvindt.
Naast enkele specifieke webbrowsers met aangepaste native apps tijdens het bladeren op verschillende webpagina's, worden de meeste webpagina's met een browser bekeken. Dus wanneer we een bepaalde URL in de browser openen, hoe laadt en toont de browser de inhoud? We zullen laten zien wat de browser op zijn beurt deed, volgens de volgorde waarin de gebeurtenis plaatsvindt.
Gebruiker voert URL in de browser in
In ons vorige blogbericht hebben we URL-componenten behandeld, waaronder wat bekend staat als de host/domein, bijvoorbeeld www.google.com
blog.logto.io
enzovoort.
IP-adres opzoeken met behulp van host/domein
De browser kan de host/domein niet direct begrijpen en de overeenkomstige bronnen vinden, maar moet het specifieke IP-adres weten om de locatie van de vereiste bronnen voor webpagina's te lokaliseren.
De browser zal het IP-adres vinden dat overeenkomt met de host/domein via het Domain Name System (DNS).
Om het proces van het zoeken naar IP-adressen zo snel mogelijk te maken, gebruikt men vaak verschillende caches voor de overeenkomst tussen host/domein en IP-adres, zoals browsercache, besturingssysteemcache, enzovoort.
Wanneer cache-opzoeken mislukt, doorlopen we het reguliere DNS-opzoekproces om het IP-adres van een host/domein te vinden. Dit zijn de stappen:
- Wanneer een gebruiker
blog.logto.io
in de webbrowser invoert, vraagt de webbrowser de DNS-service om het IP-adres, de corresponderende query wordt ontvangen door de DNS-resolver - DNS-resolver vraagt DNS-rootserver (.)
- Rootserver retourneert een adres dat overeenkomt met een Top Level Domain (TLD) DNS-server (
.io
in dit geval) en enkele bijbehorende informatie - DNS-resolver vraagt
.io
TLD-server .io
TLD-server antwoordt metlogto.io
nameserver-adres- DNS-resolver vraagt
logto.io
domeinnameserver logto.io
domeinnameserver antwoordt metblog.logto.io
adres- DNS-resolver stuurt
blog.logto.io
IP-adres terug naar de webbrowser
De webbrowser kan dan de corresponderende bronnen van de server aanvragen en de website weergeven voor de gebruiker om te bekijken.
TCP-verbinding tot stand brengen
Na het verkrijgen van het IP-adres dat overeenkomt met het domein dat moet worden bekeken via de DNS-service, initieert en stelt de webbrowser een TCP-verbinding met de server in.
Krijg bronnen en render webpagina's
Na het tot stand brengen van een TCP-verbinding, initieert de browser een netwerkverzoek naar de server, verkrijgt de corresponderende bronnen en rendert de webpagina-inhoud op basis van de verkregen bronnen voor de gebruiker om te bekijken.