REST und HTTP - Entwicklung und Integration nach dem Architekturstil des Web von: Stefan Tilkov, Martin Eigenbrodt, Silvia Schreier, Oliver Wolf dpunkt, 2015 ISBN: 9783864916434 330 Seiten,
Download: 6244 KB
Format: PDF
geeignet für:
Typ: A (einfacher Zugriff)
Inhaltsverzeichnis
Vorbemerkung zur dritten Auflage
6
Vorbemerkung zur zweiten Auflage
8
Vorwort zur ersten Auflage
10
Danksagung
12
1 Einleitung
22
1.1 Warum REST?
22
1.1.1 Lose Kopplung
23
1.1.2 Interoperabilität
24
1.1.3 Wiederverwendung
24
1.1.4 Performance und Skalierbarkeit
25
1.2 Zielgruppe und Voraussetzungen
25
1.3 Zur Struktur des Buches
26
2 Einführung in REST
30
2.1 Eine kurze Geschichte von REST
30
2.2 Grundprinzipien
32
2.3 Zusammenfassung
40
3 Fallstudie: OrderManager
42
3.1 Fachlicher Hintergrund
42
3.2 Ressourcen
44
3.2.1 Bestellungen
44
3.2.2 Bestellungen in unterschiedlichen Zuständen
51
3.2.3 Stornierungen
51
3.3 Repräsentationen
53
3.4 Zusammenfassung
54
4 Ressourcen
56
4.1 Ressourcen und Repräsentationen
56
4.2 Ressourcendesign
57
4.2.1 Primärressourcen
58
4.2.2 Subressourcen
59
4.2.3 Listen
59
4.2.4 Projektionen
60
4.2.5 Aggregationen
60
4.2.6 Aktivitäten
60
4.2.7 Konzept- und Informationsressourcen
60
4.2.8 Evolutionäre Weiterentwicklung und YAGNI
61
4.3 Ressourcenidentifikation und URIs
61
4.3.1 URI, IRI, URL, URN, XRI?
62
4.3.2 Anatomie einer HTTP-URI
63
4.3.3 URI-Templates
67
4.4 URI-Design
68
4.4.1 URI-Entwurfsgrundsätze
68
4.4.2 REST aus Versehen
71
4.4.3 Stabile URIs
72
4.5 Zusammenfassung
73
5 Verben
74
5.1 Standardverben von HTTP 1.1
74
5.1.1 GET
74
5.1.2 HEAD
76
5.1.3 PUT
77
5.1.4 POST
78
5.1.5 DELETE
78
5.1.6 OPTIONS
79
5.1.7 TRACE und CONNECT
79
5.2 HTTP-Verben in der Praxis
79
5.3 Tricks für PUT und DELETE
80
5.3.1 HTML-Formulare
80
5.3.2 Firewalls und eingeschränkte Clients
82
5.4 Definition eigener Methoden
84
5.4.1 WebDAV
84
5.4.2 Partial Updates und PATCH
86
5.4.3 Multi-Request-Verarbeitung
87
5.5 LINK und UNLINK
89
5.6 Zusammenfassung
90
6 Hypermedia
92
6.1 Hypermedia im Browser
92
6.2 HATEOAS und das »Human Web«
96
6.3 Hypermedia in der Anwendung-zu-Anwendung- Kommunikation
98
6.4 Ressourcenverknüpfung
99
6.5 Einstiegspunkte
99
6.6 Aktionsrelationen
101
6.7 Darstellung von Links und das -Element
102
6.8 Standardisierung von Link-Relationen
105
6.9 Zusammenfassung
106
7 Repräsentationsformate
108
7.1 Formate, Medientypen und Content Negotiation
108
7.2 JSON
109
7.2.1 HAL
110
7.2.2 Collection+JSON
113
7.2.3 SIREN
115
7.2.4 Fazit
117
7.3 XML
118
7.4 HTML/XHTML
119
7.5 Textformate
122
7.5.1 Plaintext
122
7.5.2 URI-Listen
123
7.6 CSV
123
7.7 RSS und Atom
124
7.8 Binäre Formate
126
7.9 Microformats
127
7.10 RDF
128
7.11 Zusammenfassung
130
8 Fallstudie: AtomPub
132
8.1 Historie
132
8.2 Discovery und Metadaten
133
8.3 Ressourcentypen
136
8.4 REST und Atom/AtomPub
138
8.5 Zusammenfassung
138
9 Sitzungen und Skalierbarkeit
140
9.1 Cookies
141
9.2 Ressourcen- und Clientstatus
143
9.3 Skalierbarkeit und »Shared Nothing«-Architektur