WebSockets (eBook)

Moderne HTML5-Echtzeitanwendungen entwickeln
eBook Download: PDF
2015
281 Seiten
Hanser, Carl (Verlag)
978-3-446-44438-6 (ISBN)
Systemvoraussetzungen
34,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
WebSockets //
- Für Webentwickler mit Grundkenntnissen, Studenten der Informatik, Softwarearchitekten und IT-Konzepter
- Umfassender Einstieg in die WebSocket-Technik: Grundlagen, Performance, Sicherheit, Test-Verfahren
- Mit zahlreichen Beispielen auf Basis ganz unterschiedlicher Werkzeuge, Technologien, Sprachen und Frameworks
- Die Beispiele aus dem Buch sowie Infos zu aktuellen Entwicklungen können auf der Website der Autoren heruntergeladen werden
Dieses Buch führt Sie umfassend in die WebSocket-Technik und die damit einhergehenden neuen Entwicklungsmöglichkeiten ein. Unter den zahlreichen exemplarischen Anwendungen finden sich Beispiele auf Basis von Node.js, Vert.x, und JSR 356, als Programmiersprachen werden Java und JavaScript eingesetzt.
Nach einer Einführung in die notwendigen Grundlagen von HTTP lernen Sie zunächst die Mechanismen für höhere Interaktivität und Echtzeitfähigkeit bei Webanwendungen kennen. Weiter geht es mit dem WebSocket-Protokoll und der WebSocket-API. An dieser Stelle werden Sie mit JavaScript erste Beispiele für WebSocket-Clientanwendungen in Webbrowsern programmieren. Es folgen WebSocket-Implementierungen auf der Serverseite auf Basis gebräuchlicher Frameworks.
Weitere Themen sind das Testen von verteilten Web-Socket-basierten Applikationen, Performance-Eigenschaften und - ganz wichtig - Sicherheitsaspekte, insbesondere wenn die Anwendung aus verteilten Komponenten zusammengesetzt ist, die über offene Netze miteinander gekoppelt sind.
Schließlich werden Sie verschiedene größere und vollständige Anwendungen implementieren: eine generische Fernsteuerung für Webanwendungen, ein klassisches Chatsystem, eine Heatmap für Usability-Tests und eine Überwachungskamera per Webcam.
AUS DEM INHALT //
HTTP-Grundlagen // Techniken für höhere Interaktivität und Echtzeitfähigkeit // Die Leitung: Das IETF WebSocket-Protokoll // Der Client: Die W3C WebSocket-API // Der Server: Sprachliche Vielfalt // WebSockets in der Praxis: Performance & Skalierbarkeit, Sicherheit, Gefahren & Probleme // Vier komplette Beispielanwendungen

Prof. Dr. Luigi Lo Iacono lehrt an der Fakultät für Informations-, Medien- und Elektrotechnik an der FH Köln. Peter Leo Gorski und Hoai Viet Nguyen sind wissenschaftliche Mitarbeiter an derselben Fakultät. Die Forschungs- und Entwicklungsinteressen des Autorenteams liegen im Bereich verteilter Anwendungen auf Basis von Webtechnologien und deren Sicherheit.

Inhalt 7
Vorwort 11
Danksagung 13
1 Einleitung 15
1.1 Wie ist das Buch strukturiert? 17
1.2 Wer sollte das Buch lesen? 17
1.3 Wie sollte mit dem Buch gearbeitet werden? 18
2 HTTP: Hypertext Transfer Protocol 19
2.1 Grundlegendes 19
2.1.1 ISO/OSI-Referenzmodell für Kommunikationssysteme 20
2.1.2 Vereinfachtes OSI-Modell 22
2.1.3 Dienst 23
2.1.4 Protokoll 24
2.1.5 Kommunikationsfluss 25
2.2 HTTP en détail 27
2.2.1 Kommunikationsablauf 27
2.2.2 Textbasiert 28
2.2.3 Aufbau von Request-Nachrichten und Protokollelemente 30
2.2.4 Aufbau von Response-Nachrichten und Statuscodes 34
2.2.5 Zustandslos 38
3 Höhere Interaktivität und Echtzeitfähigkeit 39
3.1 XMLHttpRequest (XHR) 39
3.2 Polling 41
3.3 Long-Polling 42
3.4 Comet 43
3.5 Server-Sent Events 45
3.6 Bewertung der Verfahren 47
4 Die Leitung: Das IETF WebSocket-Protokoll 49
4.1 Was bisher geschah 49
4.2 Opening-Handshake – WebSocket-Verbindung aufbauen 50
4.3 WebSocket-Frames 53
4.4 Fragmentierung 56
4.5 Maskierung 57
4.6 Datenframes 59
4.6.1 Frames mit Textdaten 59
4.6.2 Frames mit Binärdaten 61
4.7 Control-Frames 62
4.7.1 Ping-Frame 62
4.7.2 Pong-Frame 63
4.7.3 Close-Frame 63
4.8 Closing-Handshake – WebSocket-Verbindung schließen 67
4.9 Tools zur Protokollanalyse 68
4.9.1 Wireshark 68
4.9.2 Fiddler 74
4.9.3 Chrome Developer Tools 82
4.9.4 Chrome Network Internals 84
5 Der Client: Die W3C WebSocket-API 89
5.1 Was bisher geschah 89
5.2 Browserunterstützung 90
5.3 Namensschema 93
5.4 Objekterzeugung und Verbindungsaufbau 94
5.5 Zustände 95
5.6 Event-Handler 97
5.7 Erstes vollständiges Progrämmchen 100
5.8 Attribute 103
5.9 Datenübertragung 106
5.9.1 Übertragung textbasierter Daten 107
5.9.2 Übertragung binärer Daten 108
5.10 Verbindungsabbau 110
5.10.1 Verbindung beenden 110
5.10.2 Close-Event 110
5.11 Ausblick: HTTP 2.0/SPDY 111
6 Der Server: Sprachliche Vielfalt 115
6.1 Übersicht verfügbarer WebSocket-Implementierungen 115
6.2 Node.js 116
6.2.1 Installation von Node.js 118
6.2.2 WebSocket.io 120
6.2.3 Socket.io 123
6.2.4 WebSocket-Node 127
6.3 Vert.x 133
6.4 Play Framework 136
6.4.1 Installation 136
6.4.2 Anlegen eines neuen Play-Projekts 137
6.4.3 Anatomie einer Play-Anwendung 137
6.4.4 Die Play-Konsole 138
6.4.5 Controller in Play 138
6.4.6 Views in Play 139
6.4.7 Routes in Play 140
6.4.8 Vom Controller zur View 141
6.4.9 Erstellen eines Echo-Servers in Play 143
6.5 JSR 356 146
6.5.1 JSR 356-basierender WebSocket-Server 150
6.5.2 JSR 356-basierender WebSocket-Client 154
7 WebSockets in der Praxis 161
7.1 Performance und Skalierbarkeit 161
7.1.1 Test-Echo-Server 162
7.1.2 Testclient für die Auslastung 165
7.1.3 Testclient für die Zeitmessung 166
7.1.4 Einrichtung der Testumgebung 167
7.1.5 Ergebnisse 171
7.2 Sicherheit 172
7.2.1 Same Origin Policy 172
7.2.2 Vertrauliche Kommunikation 173
7.2.3 Authentifizierung 176
7.2.4 Firewalls und Proxys 197
7.2.5 Mögliche Gefährdungen 200
7.2.6 Bewertung der Sicherheitslage 209
7.3 Mit Haken und Ösen 210
7.3.1 Pings und Pongs 210
7.3.2 Das Cache-Problem im Internet Explorer 10 211
8 Beispielanwendungen 215
8.1 Fernbedienung von Webanwendungen mit einer Smartphone-/Tablet-Fernbedienung 216
8.2 Chat-System 225
8.3 Heatmap für Usability-Tests 230
8.4 Überwachungskamera per Webcam 235
Schlusswort 245
A XHR-Objekt 247
B Chrome Developer Tools auf Android 249
C Umgebungsvariablen definieren 255
C.1 Mac OS/Linux mit Bash 255
C.2 Windows 256
D Express.js 261
D.1 Anatomie einer Express.js-Anwendung 262
D.2 Die Anwendungslogik in der Datei app.js 264
D.3 Die Jade-Template-Engine 266
D.4 Express.js mit WebSocket-Servern verbinden 268
Literatur 271
Stichwortverzeichnis 277

Erscheint lt. Verlag 15.1.2015
Verlagsort München
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Web / Internet
Schlagworte HornetQ • Java • JavaScript • JSR 356 • Node.js • vertx
ISBN-10 3-446-44438-6 / 3446444386
ISBN-13 978-3-446-44438-6 / 9783446444386
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 40,1 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Handbuch für Ausbildung und Beruf

von Vivian Pein

eBook Download (2024)
Rheinwerk Computing (Verlag)
27,93