Middle
Ի՞նչ է տեղի ունենում, երբ դուք մուտքագրում եք հասցե բրաուզերում, օրինակ՝ google.com։
sobes.tech AI
Պատասխան AI-ից
-
URL- ի վերլուծություն: Բրաուզերը բաժանում է URL-ը բաղադրիչների՝ պրոտոկոլ (HTTP/HTTPS), դոմեյն անուն (
google.com) և ուղի (/)։ -
IP հասցեի որոնում:
- Բրաուզերը ստուգում է իր DNS-կեշը։
- Օպերացիոն համակարգը ստուգում է իր DNS-կեշը։
- Սիստեմը հարցում է ուղարկում DNS սերվերին (հաճախ՝ պրովայդերի կողմից տրամադրված)։
- DNS սերվերը ռեկուրսիվ հարցում է անում արմատային, TLD և հեղինակային DNS սերվերներին՝ մինչև գտնել
google.comIP հասցեն։ - IP հասցեն վերադարձվում է բրաուզերին։
-
TCP կապի հաստատում:
- Բրաուզերը հաստատում է TCP կապը սերվերի հետ՝ օգտագործելով եռակողմ ձեռնամուխ (SYN, SYN-ACK, ACK)։
-
SSL/TLS ձեռնամուխ (HTTPS-ի համար):
- Կլիենտն ու սերվերը համաձայնվում են ծածկագրային ալգորիթմների մասին։
- Սերվերը ուղարկում է իր սերտիֆիկատը։
- Բրաուզերը ստուգում է սերտիֆիկատը։
- Կողմերը փոխանակում են բանալիներ՝ ապահովված կապի համար։
-
HTTP հարցում ուղարկում: Բրաուզերը ուղարկում է HTTP հարցում սերվերին՝ պարունակելով մեթոդ (GET), ուղի, գլխագրեր (Host, User-Agent, Accept և այլն), և հնարավոր է՝ հարցման մարմին։
GET / HTTP/1.1 Host: google.com User-Agent: Mozilla/5.0 (...) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -
Հարցման մշակումը սերվերով:
- Սերվերը ընդունում է հարցումը։
- Սերվերը մշակում է հարցումը (օրինակ՝ գործառույթի տրամաբանությունը կատարելով)։
- Սերվերը ձևավորում է HTTP պատասխան։
-
HTTP պատասխան ստացում: Բրաուզերը ստանում է HTTP պատասխան՝ պարունակելով կարգավիճակի կոդ (օրինակ՝ 200 OK), գլխագրեր (Content-Type, Content-Length և այլն) և պատասխան մարմինը (HTML էջ, պատկերներ, CSS, JS և այլն)։
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: XXXX ... <!doctype html>... -
Էջի ռենդերավորում:
- Բրաուզերը սկսում է HTML կոդի վերլուծությունը։
- Երբ հայտնաբերում է CSS, JavaScript կամ պատկերների հղումները, բրաուզերը լրացուցիչ հարցումներ է ուղարկում դրանց ստացման համար (քայլեր 2-7 կրկնվում են յուրաքանչյուր ռեսուրսի համար)։
- Բրաուզերը կառուցում է DOM ծառ (Document Object Model) HTML-ից։
- Բրաուզերը կառուցում է CSSOM ծառ (CSS Object Model) CSS-ից։
- Բրաուզերը կառուցում է ռենդերային ծառ, միավորելով DOM և CSSOM։
- Բրաուզերը կատարում է JavaScript (կարող է փոխել DOM և CSSOM)։
- Բրաուզերը հաշվարկում է տարրերի տեղաշարժը էջում (Layout)։
- Բրաուզերը նկարում է տարրերը էկրանին (Painting)։