Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Der Webbrowser ist die am weitesten verbreitete Plattform, die Entwicklern heute zur Verfügung steht: Er ist auf jedem Smartphone, Tablet, Laptop, Desktop und jedem anderen Formfaktor dazwischen installiert. Nach den aktuellen kumulativen Wachstumsprognosen der Industrie werden wir bis 2020 20 Milliarden vernetzte Geräte haben - alle mit einem Browser und mindestens einer WiFi- oder Mobilfunkverbindung. Die Art der Plattform, der Hersteller des Geräts oder die Version des Betriebssystems spielen dabei keine Rolle - jedes einzelne Gerät wird einen Webbrowser haben, der selbst jeden Tag mehr Funktionen bietet.

Der Browser von gestern sieht nicht mehr so aus wie das, was uns heute zur Verfügung steht, dank all der jüngsten Innovationen: HTML und CSS bilden die Präsentationsschicht, JavaScript ist die neue Assembler-Sprache des Webs, und neue HTML5-APIs verbessern die Möglichkeiten der Plattform, um ansprechende und leistungsstarke Anwendungen zu entwickeln. Es gibt einfach keine andere Technologie oder Plattform, die jemals eine solche Reichweite oder Verbreitung hatte, wie sie uns heute zur Verfügung steht, wenn wir für den Browser entwickeln. Und wo eine große Chance ist, folgt die Innovation immer.

Tatsächlich gibt es kein besseres Beispiel für den rasanten Fortschritt und die Innovation als die Netzwerkinfrastruktur innerhalb des Browsers. In der Vergangenheit waren wir auf einfache HTTP-Anfrage-Antwort-Interaktionen beschränkt. Heute haben wir Mechanismen für effizientes Streaming, bidirektionale und Echtzeit-Kommunikation, die Fähigkeit, benutzerdefinierte Anwendungsprotokolle bereitzustellen, und sogar Peer-to-Peer-Videokonferenzen und Datenübertragung direkt zwischen den Peers - und das alles mit ein paar Dutzend Zeilen JavaScript.

Das Endergebnis? Milliarden von vernetzten Geräten, eine wachsende Zahl von Nutzern bestehender und neuer Online-Dienste und eine hohe Nachfrage nach leistungsstarken Webanwendungen. Geschwindigkeit ist ein Merkmal, für manche Anwendungen sogar das Merkmal schlechthin, und die Bereitstellung einer leistungsstarken Webanwendung erfordert eine solide Grundlage im Zusammenspiel von Browser und Netzwerk. Das ist das Thema dieses Buches.

Über dieses Buch

Unser Ziel ist es, das zu vermitteln, was jeder Entwickler über das Netzwerk wissen sollte: welche Protokolle verwendet werden und wo ihre Grenzen liegen, wie du deine Anwendungen am besten für das zugrunde liegende Netzwerk optimierst und welche Netzwerkfunktionen der Browser bietet und wann du sie nutzen solltest.

Dabei werden wir uns die Interna der TCP-, UDP- und TLS-Protokolle ansehen und herausfinden, wie wir unsere Anwendungen und unsere Infrastruktur für jedes dieser Protokolle optimieren können. Dann werden wir uns genauer ansehen, wie drahtlose und mobile Netzwerke unter der Haube funktionieren - diese Funksache ist ganz anders - und diskutieren, welche Auswirkungen das auf die Gestaltung und Architektur unserer Anwendungen hat. Zum Schluss werden wir untersuchen, wie das HTTP-Protokoll unter der Haube funktioniert und die vielen neuen und aufregenden Netzwerkfunktionen des Browsers erforschen:

  • Kommende HTTP/2 Verbesserungen

  • Neue XHR-Funktionen und -Fähigkeiten

  • Daten-Streaming mit Server-gesendeten Ereignissen

  • Bidirektionale Kommunikation mit WebSocket

  • Peer-to-Peer Video- und Audiokommunikation mit WebRTC

  • Peer-to-Peer-Datenaustausch mit DataChannel

Zu verstehen, wie die einzelnen Bits übertragen werden, und die Eigenschaften der einzelnen Transportmittel und Protokolle zu kennen, ist unerlässlich, um leistungsstarke Anwendungen bereitstellen zu können. Denn wenn unsere Anwendungen beim Warten im Netzwerk blockiert werden, hilft kein noch so gutes Rendering, kein JavaScript und keine andere Form der Optimierung! Unser Ziel ist es, diese Wartezeit zu vermeiden, indem wir die bestmögliche Leistung aus dem Netzwerk herausholen.

High-Performance Browser Networking ist für alle interessant, die die Bereitstellung und Leistung ihrer Anwendungen optimieren wollen, aber auch für Neugierige, die sich nicht mit einer einfachen Checkliste zufrieden geben, sondern wissen wollen, wie der Browser und die zugrundeliegenden Protokolle unter der Haube tatsächlich funktionieren. Das "Wie" und das "Warum" gehen Hand in Hand: Wir werden praktische Ratschläge zur Konfiguration und Architektur geben und auch die Kompromisse und die Gründe für jede Optimierung untersuchen.

Hinweis

Unser Hauptaugenmerk liegt auf den Protokollen und ihren Eigenschaften in Bezug auf Anwendungen, die im Browser laufen. Alle Diskussionen über TCP, UDP, TLS, HTTP und fast jedes andere Protokoll, das wir behandeln werden, sind jedoch auch direkt auf native Anwendungen anwendbar, unabhängig von der Plattform.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Symbol steht für einen Tipp, eine Anregung oder einen allgemeinen Hinweis.

Warnung

Dieses Symbol weist auf eine Warnung oder Vorsicht hin.

Safari® Bücher Online

Hinweis

Safari Books Online ist eine digitale On-Demand-Bibliothek, die Experteninhalte in Buch- und Videoform von weltweit führenden Autoren aus den Bereichen Technologie und Wirtschaft liefert.

Technologieexperten, Softwareentwickler, Webdesigner sowie Geschäfts- und Kreativprofis nutzen Safari Books Online als Hauptressource für Recherchen, Problemlösungen, Lernen und Zertifizierungsschulungen.

Safari Books Online bietet eine Reihe von Plänen und Preisen für Unternehmen, Behörden, Bildungseinrichtungen und Privatpersonen.

Mitglieder haben Zugang zu Tausenden von Büchern, Schulungsvideos und Manuskripten von Verlagen wie O'Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology und Hunderten mehr in einer vollständig durchsuchbaren Datenbank. Wenn du mehr über Safari Books Online erfahren möchtest, besuche uns bitte online.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter http://oreil.ly/high-performance-browser aufrufen .

Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an

Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.

Finde uns auf Facebook: http://facebook.com/oreilly

Folge uns auf Twitter: http://twitter.com/oreillymedia

Schau uns auf YouTube: http://www.youtube.com/oreillymedia

Inhaltliche Updates

Mai 23, 2014

  1. Neuer Abschnitt über die Verwendung von TLS False Start zur Optimierung des TLS-Handshakes hinzugefügt.

  2. Neuer Abschnitt über die Vorteile von TLS Forward Secrecy hinzugefügt.

  3. Aktualisierte Optimierung der TLS-Datensatzgröße mit der Empfehlung, die dynamische Datensatzgröße zu verwenden.

  4. Die WebRTC-Codebeispiele wurden aktualisiert, um die neueste Authentifizierungs- und Callback-Syntax zu verwenden.

  5. Die SPDY-Roadmap wurde auf den Zeitplan für 2014 aktualisiert.

  6. Die Verweise auf ungerade/gerade Stream-IDs in Kapitel 12 wurden korrigiert.

  7. Rechtschreibfehler in Texten und Diagrammen korrigiert.

Get Leistungsstarke Browser-Vernetzung now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.