- 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
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.
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.
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.
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
İyi Forumlar TurkMMo Ailesi
En Çok Reaksiyon Alan Mesajlar
Paylaşım İçin Teşekkürler.
Eline sağlık
- Katılım
- 15 May 2013
- Konular
- 1,207
- Mesajlar
- 7,321
- Çözüm
- 6
- Online süresi
- 2mo 16d
- Reaksiyon Skoru
- 5,958
- Altın Konu
- 410
- Başarım Puanı
- 349
- MmoLira
- 45,963
- DevLira
- 3
Paylaşım İçin Teşekkürler.
- 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
Teşekkürler yöneticimPaylaşım İçin Teşekkürler.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 4
- Görüntüleme
- 115
- Cevaplar
- 3
- Görüntüleme
- 163
- Cevaplar
- 3
- Görüntüleme
- 85











