Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Altın Konu [Web Geliştirme] Tarayıcılar Nasıl Çalışır? Bir Web Sayfasının Ekrana Çizilme Macerası

Reaxiyon

Ne mutlu Türk'üm diyene!
Telefon Numarası Onaylanmış Üye Turkmmo Discord Nitro Booster
Fahri Üye
Katılım
22 May 2010
Konular
961
Mesajlar
3,480
Çözüm
2
Online süresi
3mo 2h
Reaksiyon Skoru
2,339
Altın Konu
250
TM Yaşı
16 Yıl 16 Gün
Başarım Puanı
309
MmoLira
12,435
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!


Herkese selamlar Turkmmo Ailesi,
Hiç merak ettiniz mi? Tarayıcınızın adres çubuğuna bir web sitesi adresi yazıp Enter'a bastığınızda, o karmaşık kod yığını saniyeler içinde nasıl göz alıcı, tıklanabilir bir sayfaya dönüşüyor? Bu süreç, "Kritik Oluşturma Yolu" (Critical Rendering Path) olarak bilinir ve modern web geliştirmenin en temel, ancak en sık göz ardı edilen konularından biridir.
Bu rehberde, bir web sayfasının ham koddan ekrandaki piksellere dönüşme serüvenini, yani tarayıcıların perde arkasında nasıl çalıştığını adım adım inceleyeceğiz. Bu süreci anlamak, daha hızlı ve daha verimli web siteleri oluşturmanızın anahtarıdır.

Her Şey Bir İstekle Başlar


Siz ornek.com yazıp Enter'a bastığınızda, tarayıcı bu adresteki sunucuya bir HTTP isteği gönderir. Sunucu, yanıt olarak sitenin HTML dosyasını geri gönderir. Tarayıcının asıl macerası, bu HTML dosyasını aldığı an başlar.

DOM Ağacının İnşası (HTML'in Anlam Kazanması)


Tarayıcı, aldığı HTML dosyasını yukarıdan aşağıya doğru okumaya (parse) başlar. Bu süreçte, etiketleri (<html>, <body>, <div>, <p> vb.) ve onların içeriklerini analiz eder. Bu analiz sonucunda, sayfanın yapısını temsil eden, ağaç benzeri bir model oluşturur. Bu modele DOM (Document Object Model) denir.​
  • DOM, sayfanın iskeletidir. Hangi elemanın hangisinin içinde olduğunu, sayfanın hiyerarşik yapısını canlı bir şekilde temsil eder. JavaScript'in "şu butona tıklandığında şunu yap" diyebilmesinin sebebi, DOM sayesinde o butona bir nesne olarak erişebilmesidir.​


1758658765825.png

CSSOM Ağacının İnşası (Sayfanın Stil Kazanması)


Tarayıcı, HTML'i okurken <link rel="stylesheet" href="style.css"> gibi bir etiketle karşılaştığında, CSS dosyasını indirmek için hemen yeni bir istek gönderir. CSS dosyası geldiğinde, tıpkı HTML'de olduğu gibi, onu da okumaya başlar.
Bu okuma sonucunda, hangi HTML elemanının hangi stil kurallarına (renk, genişlik, font boyutu vb.) sahip olduğunu belirten, yine ağaç benzeri bir model oluşturur. Bu modele ise CSSOM (CSS Object Model) denir.​
  • CSSOM, sayfanın kıyafetleridir. DOM'daki her bir elemanın ekranda nasıl görüneceğini tanımlar.​

JavaScript'in Sahneye Girişi (İnteraktivite)


Tarayıcı, <script> etiketiyle karşılaştığında duraksar. Çünkü JavaScript, hem DOM'u hem de CSSOM'u değiştirebilir. Bu yüzden tarayıcı, HTML'i okumayı durdurur, JavaScript dosyasını indirir, çalıştırır ve bitmesini bekler.​
  • Bu Neden Önemli? Eğer JavaScript'iniz sayfanın en başında (<head> içinde) ve yavaş yükleniyorsa, sayfanın geri kalanının görünür hale gelmesini (render edilmesini) engeller. Buna "render-blocking" (oluşturmayı engelleyen) JavaScript denir. Bu, web sitesi yavaşlığının en yaygın sebeplerinden biridir.​

Render Ağacının Oluşturulması (İskelet ve Kıyafetlerin Birleşimi)


Artık tarayıcının elinde iki önemli yapı var: Sayfanın yapısını anlatan DOM ve nasıl görüneceğini anlatan CSSOM. Tarayıcı, bu iki ağacı birleştirerek Render Ağacı'nı (Render Tree) oluşturur.​
  • Render Ağacı, ekranda görünür olan her şeyi içerir. Örneğin, CSS ile display: none; olarak ayarlanmış bir eleman DOM'da olsa bile, ekranda yer kaplamadığı için Render Ağacı'na dahil edilmez. Bu ağaç, ekrana neyin, hangi stillerle çizileceğinin son planıdır.​
Düzen (Layout / Reflow) Aşaması

Render Ağacı hazır, ama elemanların ekranın neresinde, ne kadar yer kaplayacağı henüz belli değil. Layout aşamasında tarayıcı, her bir elemanın ekrandaki geometrik konumunu ve boyutlarını hesaplar.​
  • Tarayıcı, "Bu div %50 genişliğinde olacakmış, yani 800 piksellik ekranda 400 piksel yer kaplayacak. İçindeki paragraf ise şu kadar yükseklikte olacak..." gibi hesaplamalar yapar. Bu, sayfanın adeta bir mimari planının çıkarılmasıdır.​
1758658731182.png

Boyama (Paint) Aşaması (Piksellerin Renklenmesi)


Artık her şey hazır! Tarayıcı, Layout aşamasında hesapladığı kutuları ve konumları, CSSOM'dan gelen stil bilgileriyle (renkler, arka planlar, gölgeler vb.) doldurur. Bu aşamada, sayfanın pikselleri tek tek boyanır ve siz de nihayet web sitesini ekranınızda görürsünüz.

Neden Bunları Bilmeliyiz?


Bu süreci anlamak, bir web geliştiricisinin daha performanslı siteler yapmasını sağlar:​
  • CSS'i üste, JS'i alta koyma: CSS'in <head> içinde olması, sayfanın stillerinin erken yüklenmesini sağlar. JavaScript'in </body> etiketinden hemen önce konulması ise, sayfanın render edilmesini engellemesinin önüne geçer.​
  • Görsel Optimizasyonu: Büyük görsellerin indirilmesi ve işlenmesi süreci yavaşlatır.​
  • DOM Manipülasyonu: JavaScript ile DOM'u sürekli değiştirmek, tarayıcıyı sürekli olarak Layout ve Paint aşamalarını yeniden yapmaya zorlar, bu da performansı düşürür.​
Bir web sayfasının oluşumu, anlık gibi görünse de aslında bu karmaşık ve harika adımların bir sonucudur. Bu sürece hakim olmak, sizi daha bilinçli ve yetkin bir geliştirici yapar.
İyi Forumlar TurkMMo Ailesi
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst