Web-Browser-Engineering (2021)
(browser.engineering)-
Einführung in Web-Browser-Engineering
- Webbrowser werden täglich verwendet, aber ihre Funktionsweise ist komplex. Dieses Buch erklärt, wie man von Networking bis JavaScript mit einigen tausend Zeilen Python-Code einen grundlegenden, aber vollständigen Webbrowser baut.
-
Vorwort
- Bietet einen Überblick über die Geschichte von Webbrowsern und des Webs.
-
Teil 1: Seiten laden
- Webseiten herunterladen
- Erklärt, wie Webseiten über URLs und HTTP-Anfragen heruntergeladen werden.
- Auf den Bildschirm zeichnen
- Erklärt, wie man ein Fenster erstellt und auf eine Canvas zeichnet.
- Text formatieren
- Erklärt, wie Wortumbruch und Zeilenabstand angepasst werden.
- Webseiten herunterladen
-
Teil 2: Dokumente anzeigen
- HTML-Baum aufbauen
- Erklärt, wie HTML geparst und verändert wird.
- Seitenlayout
- Erklärt, wie Inline- und Block-Layout angewendet werden.
- Styles der Autorenseite anwenden
- Erklärt, wie CSS geparst und angewendet wird.
- Buttons und Links verarbeiten
- Erklärt, wie Hyperlinks und die Browser-Chrome verarbeitet werden.
- HTML-Baum aufbauen
-
Teil 3: Anwendungen ausführen
- Informationen an den Server senden
- Erklärt, wie Formulare abgeschickt werden und wie die Interaktion mit Webservern funktioniert.
- Interaktive Skripte ausführen
- Erklärt, wie DOM-Änderungen und Reaktionen auf Events funktionieren.
- Daten schützen
- Erläutert Cookies und Logins sowie XSS und CSRF.
- Informationen an den Server senden
-
Teil 4: Moderne Browser
- Visuelle Effekte hinzufügen
- Erklärt Blending, Clipping und Compositing.
- Tasks und Threads planen
- Erklärt Event Loop und Rendering-Pipeline.
- Animationen und Compositing
- Erklärt flüssige Animationen mit GPU-Unterstützung.
- Barrierefreiheit für Inhalte bereitstellen
- Erklärt Tastatureingaben, Zoomen und den Accessibility-Baum.
- Eingebettete Inhalte unterstützen
- Erklärt, wie Bilder, iframes und Scripting unterstützt werden.
- Frühere Berechnungen wiederverwenden
- Erklärt Invalidierung, Bearbeitung und Korrektheit.
- Visuelle Effekte hinzufügen
-
Fazit
- Erläutert Inhalte, die nicht behandelt wurden, sowie das sich wandelnde Umfeld.
-
Anhang
- Enthält ein Glossar, Literaturhinweise, eine Autorenvorstellung, eine Liste der Mitwirkenden und eine Liste von Lehrveranstaltungen, die auf diesem Buch basieren.
Zusammenfassung von GN⁺
- Dieses Buch ist nützlich für alle, die verstehen möchten, wie Webbrowser funktionieren. Durch den Bau eines Browsers mit Python lassen sich verschiedene Techniken wie Networking, HTML-Parsing und die Anwendung von CSS erlernen.
- Es hilft dabei, die Geschichte von Webbrowsern und die Funktionen moderner Browser zu verstehen. Besonders die Abschnitte zu Websicherheit und Barrierefreiheit vermitteln Wissen, das sich in der Praxis anwenden lässt.
- Das Buch kann für Webentwickler oder Softwareingenieure spannend und lehrreich sein und wird dabei helfen, die interne Funktionsweise von Webbrowsern besser zu verstehen.
1 Kommentare
Hacker-News-Kommentare
Der Abschnitt „Stuff I didn't do“ ist ein großer Pluspunkt dieses Buches
Vor 15 Jahren habe ich angefangen, an einem Headless-Browser zu arbeiten, und SpiderMonkey als JS-Interpreter verwendet
Dieses Buch ist ein umfassendes Werk, das an MITRE ATT&CK erinnert
Es ist erfrischend, dass Browser Engineering zum Trend wird
Es gibt einen Artikel, in dem erklärt wird, warum der Autor Python gewählt hat
Einer der Autoren bedankt sich und ist bereit, Fragen zu beantworten
Ich war auf der Suche nach einem unterhaltsamen Projekt und habe Freude an diesem Buch
Es ist sehr spannend, dass solche Materialien entstehen
Ich lerne gerade etwas über die interne Struktur von Browsern, und dieses Buch ist sehr hilfreich
Gutes Buch; ich empfehle, Kapitel 9 in zwei separate Kapitel aufzuteilen