Middle
Brauzer veb səhifəsini necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
Veb səhifəsinin brauzer tərəfindən emalı prosesi bir neçə mərhələyə bölünə bilər:
-
Sorğu və resursun alınması:
- İstifadəçi URL-i ünvan sətrinə daxil edir və ya linkə klikləyir.
- Brauzer serverə HTTP sorğusu göndərir.
- Server sorğunu emal edir və adətən HTML sənədi olan cavab göndərir.
-
Sintaktik analiz (Parsing):
- Brauzer HTML sənədini baytlar şəklində alır.
- Bu baytlar göstərilən kodlama ilə simvollara çevrilir.
- HTML parser sənədi hərflə-əhval ilə analiz edir və DOM (Document Object Model) ağacını qurur. DOM sənədin məntiqi quruluşunu təmsil edir.
<link>(CSS üçün) və ya<script>(JavaScript üçün) teqlərini tapanda, brauzer bu resursların yüklənməsini HTML parsing ilə paralel olaraq başlayır.
-
CSSOM-un qurulması:
- CSS parser
<style>teqlərindən,<link>teqlərindən və inline stillərdən CSS qaydalarını analiz edir. - Bu qaydalara əsasən CSS Object Model (CSSOM) ağacı qurulur, bu da səhifədəki hər element üçün bütün stilləri ehtiva edir.
- CSS parser
-
Render Tree-nin qurulması:
- Render Tree DOM və CSSOM-u birləşdirir. Bu, yalnız səhifədə göstəriləcək elementləri və onlara aid stilləri ehtiva edir.
display: none;CSS qaydası ilə təyin olunmuş elementlər Render Tree-ə daxil edilmir.
-
Layout (Reflow):
- Brauzer Render Tree-ə əsaslanaraq hər elementin dəqiq ölçülərini və mövqeyini hesablayır. Bu proses Layout və ya Reflow adlanır.
- Layout ilk Render Tree qurulduqda və ya pəncərə ölçüsü dəyişdikdə, elementlər əlavə və ya silindikdə və ya stillər dəyişdikdə baş verir.
-
Rəsm (Painting / Repaint):
- Brauzer hər elementi ekranda rəssamlıq edir, Render Tree və Layout mərhələsinin nəticələrindən istifadə edərək.
- Rəssamlıq elementin görünən xüsusiyyətləri dəyişdikdə, məsələn, rəng, fon, şəffaflıq, və ya onun geometriyası dəyişmədən (Repaint adlanır), baş verə bilər.
-
Kompozisiya:
- Rənglənən elementlər müxtəlif qatlarda birləşdirilə bilər ki, bu da render və animasiyanı optimallaşdırır.
- Bu qatlar sonra ekran üzərində son səhifənin göstərilməsi üçün birləşdirilir.
-
Skriptlərin icrası:
- HTML parser
<script>teqinə çatanda, HTML parsing dayandırılır (əksər hallarda), və brauzer JavaScript kodunu yükləyir, parser edir və icra edir. - JavaScript DOM və CSSOM-u dəyişə bilər, bu da yenidən Layout və Rəssamlıq mərhələlərini çağırır.
<script>teqi üçünasyncvədeferatributları skriptlərin icra olunma ardıcıllığını və vaxtını təsir edir, HTML parsing-ə davam etməyə imkan verir.
- HTML parser
Aşağıda bu axının təxmini vizuallaşdırması verilmişdir:
HTTP Sorğusu
↓
HTML Baytları
↓
HTML Parser
→ CSS Parser (Paralel)
↓ ↓
DOM Ağacı CSSOM Ağacı
↓
Render Ağacı
↓
Layout
↓
Rəssamlıq
↓
Kompozisiya
↓
Ekran Göstərilməsi
JavaScript-in icrası müxtəlif mərhələlərdə daxil ola bilər və yenidən mərhələləri çağırır:
HTML Parser + Script teqi
↓
HTML Parsing dayandırılır
↓
Script yüklənir
↓
Script parser edilir
↓
Script icra edilir
↓
(Dəyişikliklər DOM/CSSOM-u → Layout/Rəssamlıq çağırır)
↓
HTML parsing-ə davam edilir
Bu prosesin anlaşılması veb səhifələrin performansını optimallaşdırmaq üçün vacibdir.