El nem tudnád képzelni, mi minden zajlik a háttérben, miután beírod, hogy google.com, és leütöd az entert
A GitHub egyik felhasználója, Alex Gaynor szedte össze kimerítő részletességgel a válaszokat arra a webfejlesztői állásinterjúkon gyakran előforduló kérdésre, hogy milyen lépések zajlanak le egy egyszerű Google-keresés során.
Bár a lépések további apró lépéseket rejtenek magukban (a DNS lookup például önmagában is egy hat allépésből álló alfolyamat), a lényeg a következő húsz pontban foglalható össze:
- Leütöd a „g” billentyűt
- Leütöd az entert
- A programmegszakítási folyamat során a processzor érzékeli, hogy leütötted az entert
- A billentyűzet drivere a jelet kóddá alakítja, majd az operációs rendszer elküldi a leütés üzenetét a böngészőnek (Windows esetében WM_KEYDOWN, OS X-nél KeyDown)
- A böngésző elemezi az URL-t
- A böngésző eldönti, hogy URL-t írtál be, vagy keresőkifejezést
- A böngésző konvertálja host nevének nem ASCII Unicode karaktereit (a-z, A-Z, 0-9, -, .), ez a Google esetében nem releváns
- A böngésző ellenőrzi a HSTS listát – ha a webhely rajta van a listán, HTTPS-en keresztül nyitja meg, ha nincs rajta, HTTP-n keresztül
- A böngésző ellenőrzi, hogy a cím szerepel-e a DNS-gyorsítótárban
- A hálózat végrehajtja a címfeloldási protokollt
- A böngésző megkapja a célszerver IP-címét, és kérvényez egy TCP socketet
- Végbemegy a TLS handshake titkosítási folyamat
- A böngésző küld egy HTTP kérést a szervernek
- A HTTPD szerver kezeli a kérést
- A böngésző fogadja a forrásokat (HTML, CSS, JS) és leképzi a DOM fát
- A böngésző elemzi a HTML-t
- A böngésző értelmezi a CSS-t
- A böngésző az előző lépések alapján leképzi az oldalt
- A CPU és a GPU is részt vesz az oldal leképzésében
- A böngésző végrehajtja a JavaScript kódjait (például a Google Doodle animációk esetében)
Nem győzzük hangsúlyozni, ez csak egy egyszerű kivonata a rettenetesen hosszadalmas és bonyolult folyamatnak – itt megtalálható részletesen az összes lépés.