Web Tarayıcısı Mühendisliği (2021)
(browser.engineering)-
Web tarayıcısı mühendisliğine giriş
- Web tarayıcıları günlük olarak kullanılır, ancak çalışma prensipleri karmaşıktır. Bu kitap, ağ iletişiminden JavaScript'e kadar birkaç bin satırlık Python koduyla temel ama eksiksiz bir web tarayıcısının nasıl oluşturulacağını açıklar.
-
Önsöz
- Web tarayıcılarının ve web'in tarihine dair bir genel bakış sunar.
-
1. Bölüm: Sayfa yükleme
- Web sayfası indirme
- URL ve HTTP istekleri aracılığıyla bir web sayfasının nasıl indirileceğini açıklar.
- Ekrana çizme
- Bir pencerenin nasıl oluşturulacağını ve canvas üzerine nasıl çizim yapılacağını açıklar.
- Metin biçimlendirme
- Sözcük kaydırma ve satır aralığının nasıl ayarlanacağını açıklar.
- Web sayfası indirme
-
2. Bölüm: Belgeyi görüntüleme
- HTML ağacını oluşturma
- HTML'in nasıl parse edileceğini ve değiştirileceğini açıklar.
- Sayfa yerleşimi
- Inline ve block yerleşimlerin nasıl uygulanacağını açıklar.
- Yazar stillerini uygulama
- CSS'in nasıl parse edilip uygulanacağını açıklar.
- Buton ve bağlantıları işleme
- Hiperbağlantıların ve tarayıcı chrome'unun nasıl işlendiğini açıklar.
- HTML ağacını oluşturma
-
3. Bölüm: Uygulama çalıştırma
- Sunucuya bilgi gönderme
- Form gönderimi ve web sunucusuyla etkileşimin nasıl gerçekleştirileceğini açıklar.
- Etkileşimli script çalıştırma
- DOM değişiklikleri ve olaylara nasıl tepki verileceğini açıklar.
- Veri koruma
- Cookie'ler, oturum açma, XSS ve CSRF'yi açıklar.
- Sunucuya bilgi gönderme
-
4. Bölüm: Modern tarayıcılar
- Görsel efektler ekleme
- Blending, clipping ve compositing yöntemlerini açıklar.
- Görev ve thread planlama
- Event loop ve rendering pipeline'ı açıklar.
- Animasyon ve compositing
- GPU kullanılarak akıcı animasyonların nasıl sağlandığını açıklar.
- İçerik erişilebilirliği sağlama
- Klavye girişi, yakınlaştırma/uzaklaştırma ve erişilebilirlik ağacını açıklar.
- Gömülü içerik desteği
- Görseller,
iframesve script desteğinin nasıl sağlandığını açıklar.
- Görseller,
- Önceki hesaplamaları yeniden kullanma
- Geçersiz kılma, düzenleme ve doğruluğu açıklar.
- Görsel efektler ekleme
-
Sonuç
- Ele alınmayan konuları ve değişen ortamı açıklar.
-
Ek
- Terimler sözlüğü, kaynakça, yazar tanıtımı, katkıda bulunanlar listesi ve bu kitaba dayanan derslerin listesi yer alır.
GN⁺ Özeti
- Bu kitap, web tarayıcılarının nasıl çalıştığını anlamak isteyenler için faydalıdır. Python kullanarak tarayıcı oluşturma süreci üzerinden ağ iletişimi, HTML parse etme, CSS uygulama gibi çeşitli teknikler öğrenilebilir.
- Web tarayıcılarının tarihini ve modern tarayıcıların işlevlerini anlamaya yardımcı olur. Özellikle web güvenliği ve erişilebilirlik konularını içermesi sayesinde pratikte uygulanabilecek bilgiler sunar.
- Bu kitap, web geliştiricileri veya yazılım mühendisleri için ilgi çekici ve faydalı olabilir; ayrıca web tarayıcılarının iç çalışma mantığını anlamaya büyük katkı sağlar.
1 yorum
Hacker News görüşleri
'Yapmadığım şeyler' bölümü bu kitabın harika yanlarından biri
15 yıl önce headless browser üzerinde çalışmaya başlamış ve SpiderMonkey'yi JS yorumlayıcısı olarak kullanmış
Bu kitap, MITRE ATT&CK'i hatırlatan kapsamlı bir kaynak
Browser engineering'in trend haline gelmesi ferahlatıcı
Yazarın neden Python'ı seçtiğini açıkladığı bir yazı var
Yazarlardan biri teşekkürlerini iletiyor ve soruları yanıtlamaya hazır olduğunu söylüyor
Eğlenceli bir proje arıyormuş ve bu kitaptan keyif alıyor
Bu tür kaynakların üretilmesi çok ilgi çekici
Tarayıcının iç yapısını öğreniyor ve bu kitap çok faydalı
Güzel bir kitap ve 9. bölümün iki ayrı bölüme ayrılmasını öneriyor