Middle
Brauzer veb-sahifani qanday ishlaydi?
sobes.tech AI
AIdan javob
Veb-sahifa brauzer tomonidan ishlov berish jarayoni bir nechta bosqichlarga bo‘linishi mumkin:
-
So‘rov va resursni olish:
- Foydalanuvchi URL-ni manzil satriga yozadi yoki havolaga bosadi.
- Brauzer serverga HTTP so‘rov yuboradi.
- Server so‘rovni qayta ishlaydi va odatda HTML hujjatni o‘z ichiga olgan javob yuboradi.
-
Sintaktik tahlil (Parsing):
- Brauzer HTML hujjatini baytlar shaklida oladi.
- Bu baytlar belgilangan kodlash bo‘yicha belgilar shaklida dekodlanadi.
- HTML parser hujjatni har bir belgi bo‘yicha tahlil qiladi va DOM (Document Object Model) daraxtini quradi. DOM hujjatning mantiqiy tuzilmasini ifodalaydi.
<link>(CSS uchun) yoki<script>(JavaScript uchun) teglarini aniqlaganida, brauzer bu resurslarni HTML tahlili bilan parallel ravishda yuklay boshlaydi.
-
CSSOM qurilishi:
- CSS parser
<style>,<link>va inline uslublardan CSS qoidalarini tahlil qiladi. - Ushbu qoidalarga asoslanib, har bir element uchun barcha uslublarni o‘z ichiga olgan CSSOM (CSS Object Model) daraxti quriladi.
- CSS parser
-
Render daraxtini qurish:
- Render daraxt DOM va CSSOM ni birlashtiradi. U faqat sahifada ko‘rsatiladigan elementlar va ularning uslublarini o‘z ichiga oladi.
display: none;CSS qoidasi bilan belgilangan elementlar Render daraxtiga kiritilmaydi.
-
Joylashuv (Layout / Reflow):
- Brauzer Render daraxt asosida har bir elementning aniq geometrik o‘lchamlari va joylashuvini hisoblaydi. Bu jarayon Layout yoki Reflow deb ataladi.
- Layout birinchi marta Render daraxti qurilayotganida va oynaning o‘lchami o‘zgarganda, elementlar qo‘shilganda yoki o‘chirilib, ularning uslublari o‘zgarganda amalga oshiriladi.
-
Chizish (Painting / Repaint):
- Brauzer har bir elementni ekranga chizadi, Render daraxti va Layout natijalari asosida.
- Elementning ko‘rinadigan xususiyatlari, masalan, rang, fon, shaffoflik o‘zgarganda, bu Repaint deb ataladigan jarayon bilan amalga oshadi.
-
Kompazitsiya:
- Chizilgan elementlar optimizatsiya uchun turli qatlamlarga bo‘linishi mumkin.
- Bu qatlamlar keyinchalik ekran uchun yakuniy sahifani birlashtirish uchun birga ishlatiladi.
-
Skriptlarni bajarish:
- HTML parser
<script>tegiga duch kelganda, HTML parsing jarayoni to‘xtatiladi (standart holatda), va brauzer JavaScript kodini yuklab, tahlil qilib, bajaradi. - JavaScript DOM va CSSOM ni o‘zgartirishi mumkin, bu esa takroriy Layout va Painting bosqichlarini chaqirishi mumkin.
<script>tegidagiasyncvadeferatributlari skriptlarning bajarilish tartibi va vaqtiga ta'sir qiladi, HTML parsing davom etishini imkon beradi.
- HTML parser
Quyida bu jarayonning taxminiy vizualizatsiyasi keltirilgan:
HTTP So‘rovi
↓
HTML Baytlar
↓
HTML Parser
→ CSS Parser (parallel)
↓ ↓
DOM Daraxti CSSOM Daraxti
↓
Render Daraxti
↓
Layout
↓
Chizish
↓
Kompozitsiya
↓
Ekranga chiqarish
JavaScript bajarilishi turli bosqichlarda to‘xtab, takroriy bosqichlarga olib kelishi mumkin:
HTML Parser + `<script>` teg
↓
HTML parsing to‘xtatiladi
↓
Script yuklab olinadi
↓
Script tahlil qilinadi
↓
Script bajariladi
↓
(DOM/CSSOM o‘zgartirilishi mumkin → Layout/Chizish chaqiriladi)
↓
HTML parsing davom etadi
Ushbu jarayonni tushunish, veb-sahifalarning ishlash samaradorligini oshirish uchun muhimdir.