Sobes.tech
Middle

Bir web sayfası nasıl yüklenir?

sobes.tech yapay zeka

AI'dan gelen yanıt

  1. Kullanıcı, tarayıcının adres çubuğuna URL girer veya bir bağlantıya tıklar.
  2. URL Ayrıştırma: Tarayıcı, URL'yi protokol, alan adı, bağlantı noktası ve yol belirlemek için çözümler.
  3. IP adresi arama: Tarayıcı, DNS önbelleğini kontrol eder, ardından işletim sistemi önbelleğini, ardından yönlendirici önbelleğini. Adres yerel olarak bulunamazsa, alan adının IP adresini almak için DNS sunucusuna sorgu gönderilir.
  4. TCP bağlantısı kurulması (Handshake): Tarayıcı, alınan IP adresi kullanılarak (üç aşamalı el sıkışma: SYN -> SYN-ACK -> ACK) sunucu ile TCP bağlantısı kurar.
  5. HTTP isteği gönderme: Tarayıcı, gereken kaynağı (yol), başlıklar (User-Agent, Accept-Encoding, Cookie vb.) ve istek gövdesi (varsa) ile HTTP isteği gönderir.
    GET /index.html HTTP/1.1  
    Host: example.com  
    User-Agent: Mozilla/5.0 ...  
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
    
  6. Sunucu tarafından isteğin işlenmesi: Sunucu, isteği alır, işler (örneğin, sunucu tarafı betikleri çalıştırır) ve bir HTTP yanıtı oluşturur.
  7. HTTP yanıtı gönderme: Sunucu, HTTP yanıtını tarayıcıya geri gönderir. Yanıt, durum kodunu (örneğin, 200 OK), başlıkları (Content-Type, Content-Length, Cache-Control vb.) ve yanıt gövdesini (istenen kaynağın içeriği, örneğin HTML dosyası) içerir.
    HTTP/1.1 200 OK  
    Content-Type: text/html; charset=UTF-8  
    Content-Length: 12345  
    Cache-Control: max-age=3600  
    
    <!DOCTYPE html>  
    <html>  
    <head>...</head>  
    <body>...</body>  
    </html>  
    
  8. HTML ayrıştırma ve DOM oluşturma: Tarayıcı, HTML kodunu almaya ve analiz etmeye başlar ve bellek içinde bir belge nesne modeli (DOM - Document Object Model) oluşturur. DOM, HTML öğeleri ağacını temsil eder.
  9. Kaynakların yüklenmesi ve işlenmesi: HTML ayrıştırması sırasında, tarayıcı diğer kaynaklara (CSS, JavaScript, resimler, yazı tipleri vb.) bağlantılar bulur. Her kaynak için 3-7 adımları tekrar eder (IP arama, TCP bağlantısı (gerekirse), HTTP istek/yanıtı). Bu kaynakların yüklenmesi paralel olarak gerçekleşebilir (eşzamanlı bağlantı sayısı ile sınırlıdır).
  10. CSSOM oluşturma: Tarayıcı, CSS dosyalarını ve HTML içindeki <style> bloklarını analiz eder ve bir CSS nesne modeli (CSSOM - CSS Object Model) oluşturur. CSSOM, sayfadaki öğelere uygulanabilir stilleri temsil eder.
  11. Render Ağacı oluşturma: Tarayıcı, DOM ve CSSOM'u birleştirerek render ağacını oluşturur. Render ağacı, yalnızca görünür öğeleri ve stillerini içerir. display: none olan öğeler dahil edilmez.
  12. Layout (Reflow): Tarayıcı, render ağacına, görünüm penceresi boyutlarına ve stillere dayanarak her öğenin tam konumunu ve boyutunu hesaplar.
  13. Boyama (Repaint): Tarayıcı, her öğeyi hesaplanan konumlarda ve uygulanan stillerle ekranda çizer. Bu, katmanlar üzerinde gerçekleşir.
  14. Bileşim: Tarayıcı, çizilen katmanları son görüntüde birleştirir ve kullanıcı ekranında gösterir.
  15. JavaScript yürütme: Betikler yüklenip analiz edilirken, JavaScript kodu çalıştırılır. JavaScript yürütmesi, DOM ve CSSOM'u etkileyebilir ve tekrar Layout ve Boyama adımlarını (Reflow/Repaint) tetikleyebilir.

İçeriğin gösterilmesi için ana adımlar:

  • DOMContentLoaded: Tarayıcı, HTML belgesini tamamen yüklediğinde ve analiz ettiğinde ve DOM ağacını oluşturduğunda tetiklenir, ancak stiller, resimler ve alt çerçevelerin yüklenmesini bekler.
  • Load: Sayfa, resimler, betikler, stiller ve diğer kaynaklar dahil olmak üzere tamamen yüklendiğinde tetiklenir.