Sobes.tech
Middle

Ի՞նչ է տեղի ունենում, երբ ձեր բրաուզերում մուտքագրում եք google.com հասցեն։

sobes.tech AI

Պատասխան AI-ից

  1. URL- ի վերլուծություն: Բրաուզերը վերլուծում է մուտքագրված URL-ը, որոշելով պրոտոկոլը (HTTPS), դոմեյն անունը (google.com) և պորտը (առանցքային 443 HTTPS-ի համար):
  2. Քեշի որոնում: Բրաուզերը ստուգում է իր DNS-քեշը՝ գտնելու google.com-ի համապատասխան IP հասցեն:
  3. Հարց DNS resolver-ին: Եթե գրանցում չկա, բրաուզերը խնդրում է IP հասցեն՝ համակարգչի կարգավորումներից:
  4. Ռեկուրսիվ DNS հարցում:
    • Resolver-ը հարցնում է հիմնական DNS սերվերներին:
    • Հիմնական սերվերները ցույց են տալիս .com TLD սերվերներին:
    • .com TLD սերվերները ցույց են տալիս google.com-ի հեղինակային DNS սերվերներին:
    • Հեղինակային DNS սերվերները վերադարձնում են Google-ի վեբ սերվերի IP հասցեն(երը):
  5. TCP կապի հաստատում (SYN/ACK): Բրաուզերը սկսում է TCP կապը ստացված IP հասցեով՝ օգտագործելով եռակողմ ձեռնամուխ (SYN, SYN-ACK, ACK):
    // Կլիենտ --> Սերվեր: SYN
    // Սերվեր --> Կլիենտ: SYN-ACK
    // Կլիենտ --> Սերվեր: ACK
    
  6. TLS/SSL կապի հաստատում: Քանի որ HTTPS է, տեղի է ունենում TLS/SSL ձեռնամուխ՝ ապահով, կոդավորված կապ հաստատելու համար: Երկու կողմերն էլ փոխանակում են սերտիֆիկատներ և սեսիայի բանալիներ:
  7. HTTP/S հարցում ուղարկում: Բրաուզերը ուղարկում է GET հարցում Google սերվերին՝ գլխավոր էջը ստանալու համար:
    GET / HTTP/1.1
    Host: google.com
    User-Agent: <բրաուզերի մասին տեղեկություններ>
    Accept: text/html,...
    
  8. Հարցի մշակումը սերվերում: Google-ի վեբ սերվերը (մոտավորապես բեռի հավասարակշռիչով) ընդունում է հարցը, մշակել, հնարավոր է՝ ներսի ծառայությունների հետ շփվել:
  9. HTTP/S պատասխան ուղարկում: Սերվերը ձևավորում է HTTP/S պատասխան, որը պարունակում է վիճակային կոդ (օրինակ, 200 OK) և պատասխան բովանդակությունը (HTML կոդը):
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: <բովանդակության չափը>
    // ... այլ գլխագրեր
    // Պատասխան բովանդակություն (HTML)
    
  10. Էջի ռենդերավորում: Բրաուզերը ստանում է HTML-ը, վերլուծում և կառուցում է DOM ծառը:
  11. Ռեսուրսների բեռնում: Բրաուզերը հայտնաբերում է CSS, JavaScript, պատկերներ և այլ ռեսուրսների հղումները HTML-ում: Ամեն ռեսուրսի համար կրկնվում են քայլեր 2-9 կամ օգտագործվում է գոյություն ունեցող կապը, ուղարկվում են հարցումներ և բեռնվում ռեսուրսները:
  12. CSSOM կառուցում: Բրաուզերը վերլուծում է CSS-ը և կառուցում է CSS Object Model-ը:
  13. Render Tree կառուցում: DOM և CSSOM միավորվում են՝ ստեղծելով ռենդերային ծառ:
  14. Տեղակայում (Layout/Reflow): Բրաուզերը հաշվարկում է յուրաքանչյուր տարրերի գեոմետրիան և դիրքը էջում:
  15. Նկարագրում (Painting): տարրերը նկարագրվում են էկրանին:
  16. JavaScript-ի գործարկում: Բրաուզերը գործարկում է JavaScript կոդը, որը կարող է փոփոխել DOM-ը, CSSOM-ը և սկսել լրացուցիչ գործողություններ:
  17. Կապի փակում: Դատարկելուց հետո TCP կապը կարող է փակվել կամ մնալ ակտիվ՝ հաջորդ հարցումների համար (keep-alive):