
REST und HTTP
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
Content
- Cover
- Titel
- Impressum
- Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Warum REST?
- 1.1.1 Lose Kopplung
- 1.1.2 Interoperabilität
- 1.1.3 Wiederverwendung
- 1.1.4 Performance und Skalierbarkeit
- 1.2 Zielgruppe und Voraussetzungen
- 1.3 Zur Struktur des Buches
- 2 Einführung in REST
- 2.1 Eine kurze Geschichte von REST
- 2.2 Grundprinzipien
- 2.3 Zusammenfassung
- 3 Fallstudie: OrderManager
- 3.1 Fachlicher Hintergrund
- 3.2 Ressourcen
- 3.2.1 Bestellungen
- 3.2.2 Bestellungen in unterschiedlichen Zuständen
- 3.2.3 Stornierungen
- 3.3 Repräsentationen
- 3.4 Zusammenfassung
- 4 Ressourcen
- 4.1 Ressourcen und Repräsentationen
- 4.2 Ressourcendesign
- 4.2.1 Primärressourcen
- 4.2.2 Subressourcen
- 4.2.3 Listen
- 4.2.4 Projektionen
- 4.2.5 Aggregationen
- 4.2.6 Aktivitäten
- 4.2.7 Konzept- und Informationsressourcen
- 4.2.8 Evolutionäre Weiterentwicklung und YAGNI
- 4.3 Ressourcenidentifikation und URIs
- 4.3.1 URI, IRI, URL, URN, XRI?
- 4.3.2 Anatomie einer HTTP-URI
- 4.3.3 URI-Templates
- 4.4 URI-Design
- 4.4.1 URI-Entwurfsgrundsätze
- 4.4.2 REST aus Versehen
- 4.4.3 Stabile URIs
- 4.5 Zusammenfassung
- 5 Verben
- 5.1 Standardverben von HTTP 1.1
- 5.1.1 GET
- 5.1.2 HEAD
- 5.1.3 PUT
- 5.1.4 POST
- 5.1.5 DELETE
- 5.1.6 OPTIONS
- 5.1.7 TRACE und CONNECT
- 5.2 HTTP-Verben in der Praxis
- 5.3 Tricks für PUT und DELETE
- 5.3.1 HTML-Formulare
- 5.3.2 Firewalls und eingeschränkte Clients
- 5.4 Definition eigener Methoden
- 5.4.1 WebDAV
- 5.4.2 Partial Updates und PATCH
- 5.4.3 Multi-Request-Verarbeitung
- 5.5 LINK und UNLINK
- 5.6 Zusammenfassung
- 6 Hypermedia
- 6.1 Hypermedia im Browser
- 6.2 HATEOAS und das »Human Web«
- 6.3 Hypermedia in der Anwendung-zu-Anwendung-Kommunikation
- 6.4 Ressourcenverknüpfung
- 6.5 Einstiegspunkte
- 6.6 Aktionsrelationen
- 6.7 Darstellung von Links und das &link&-Element
- 6.8 Standardisierung von Link-Relationen
- 6.9 Zusammenfassung
- 7 Repräsentationsformate
- 7.1 Formate, Medientypen und Content Negotiation
- 7.2 JSON
- 7.2.1 HAL
- 7.2.2 Collection+JSON
- 7.2.3 SIREN
- 7.2.4 Fazit
- 7.3 XML
- 7.4 HTML/XHTML
- 7.5 Textformate
- 7.5.1 Plaintext
- 7.5.2 URI-Listen
- 7.6 CSV
- 7.7 RSS und Atom
- 7.8 Binäre Formate
- 7.9 Microformats
- 7.10 RDF
- 7.11 Zusammenfassung
- 8 Fallstudie: AtomPub
- 8.1 Historie
- 8.2 Discovery und Metadaten
- 8.3 Ressourcentypen
- 8.4 REST und Atom/AtomPub
- 8.5 Zusammenfassung
- 9 Sitzungen und Skalierbarkeit
- 9.1 Cookies
- 9.2 Ressourcen- und Clientstatus
- 9.3 Skalierbarkeit und »Shared Nothing«-Architektur
- 9.4 Zusammenfassung
- 10 Caching
- 10.1 Expirationsmodell
- 10.2 Validierungsmodell
- 10.3 Cache-Topologien
- 10.4 Caching und Header
- 10.4.1 Response-Header
- 10.4.2 Request-Header
- 10.5 Schwache ETags
- 10.6 Invalidierung
- 10.7 Caching und personalisierte Inhalte
- 10.8 Caching im Internet
- 10.9 Zusammenfassung
- 11 Sicherheit
- 11.1 SSL und HTTPS
- 11.2 Authentisierung, Authentifizierung, Autorisierung
- 11.3 HTTP-Authentifizierung
- 11.4 HTTP Basic Authentication
- 11.5 Der 80%-Fall: HTTPS + Basic-Auth
- 11.6 HTTP Digest Authentication
- 11.7 Browser-Integration und Cookies
- 11.8 HMAC
- 11.9 OpenID
- 11.10 OAuth
- 11.10.1 OAuth 1.0
- 11.10.2 OAuth 2.0
- 11.11 Autorisierung
- 11.12 Nachrichtenverschlüsselung und Signatur
- 11.13 Zusammenfassung
- 12 Dokumentation
- 12.1 Selbstbeschreibende Nachrichten
- 12.2 Hypermedia
- 12.3 HTML als Standardformat
- 12.4 Beschreibungsformate
- 12.4.1 WSDL
- 12.4.2 WADL
- 12.4.3 Swagger, RAML und API Blueprint
- 12.4.4 RDDL
- 12.5 Zusammenfassung
- 13 Erweiterte Anwendungsfälle
- 13.1 Asynchrone Verarbeitung
- 13.1.1 Notifikation per HTTP-»Callback«
- 13.1.2 Polling
- 13.2 Zuverlässigkeit
- 13.2.1 PUT statt POST
- 13.2.2 POST-PUT-Kombination
- 13.2.3 Reliable POST
- 13.3 Transaktionen
- 13.3.1 Atomare (Datenbank-)Transaktionen
- 13.3.2 Verteilte Transaktionen
- 13.3.3 Fachliche Transaktionen
- 13.4 Parallelzugriff und konditionale Verarbeitung
- 13.5 Versionierung
- 13.5.1 Zusätzliche Ressourcen
- 13.5.2 Erweiterbare Datenformate
- 13.5.3 Versionsabhängige Repräsentationen
- 13.6 Zusammenfassung
- 14 Fallstudie: OrderManager, Iteration 2
- 14.1 OrderEntry
- 14.1.1 Medientypen
- 14.1.2 Servicedokumentation
- 14.1.3 Bestellpositionen
- 14.1.4 Zustandsänderungen
- 14.2 Fulfilment
- 14.2.1 Notifikation über neue Bestellungen
- 14.2.2 Bestellübernahme
- 14.2.3 Produktionsaufträge
- 14.2.4 Versandfristen
- 14.2.5 Lieferdatum
- 14.3 Reporting
- 14.4 Zusammenfassung
- 15 Architektur und Umsetzung
- 15.1 Architekturebenen
- 15.2 Domänenarchitektur
- 15.2.1 Systemgrenzen und Ressourcen
- 15.2.2 Medientypen und Kontrakte
- 15.2.3 Identität und Adressierbarkeit
- 15.3 Softwarearchitektur
- 15.3.1 Schichten
- 15.3.2 Domänenmodell
- 15.3.3 Nutzung von Diensten
- 15.4 Systemarchitektur
- 15.4.1 Netztopologie
- 15.4.2 Caching
- 15.4.3 Firewalls
- 15.5 Frontend-Architektur
- 15.5.1 Benutzerschnittstellen und RESTful-HTTP-Backends
- 15.5.2 Sinn und Unsinn von Portalen
- 15.6 Web-API-Architektur
- 15.7 Zusammenfassung
- 16 »Enterprise REST«: SOA auf Basis von RESTful HTTP
- 16.1 SOA-Definitionen
- 16.2 Business/IT-Alignment
- 16.3 Governance
- 16.3.1 Daten- und Schnittstellenbeschreibungen
- 16.3.2 Registry/Repository-Lösungen
- 16.3.3 Discovery
- 16.4 Orchestrierung und Choreografie
- 16.5 Enterprise Service Bus (ESB)
- 16.6 WSDL, SOAP & WS-*: WS-Architektur
- 16.7 Zusammenfassung
- 17 Weboberflächen mit ROCA
- 17.1 REST: Nicht nur für Webservices
- 17.2 Clientaspekte von ROCA
- 17.2.1 Semantisches HTML
- 17.2.2 CSS
- 17.2.3 Die Rolle von JavaScript
- 17.2.4 Unobtrusive JavaScript und Progressive Enhancement
- 17.3 ROCA vs. Single Page Apps
- 17.4 Zusammenfassung
- Anhang
- A HTTP-Statuscodes
- B Fortgeschrittene HTTP-Mechanismen
- B.1 Persistente Verbindungen
- B.2 Request-Pipelining
- B.3 Range Requests
- B.4 Chunked Encoding
- C Werkzeuge und Bibliotheken
- C.1 Kommandozeilen-Clients
- C.2 HTTP-Server
- C.3 Caches
- C.4 Programmierumgebungen
- C.4.1 Java/JVM-Sprachen
- C.4.2 Microsoft .NET
- C.4.3 Ruby
- C.4.4 Python, Perl, Node.js & Co
- D HTTP/2 und SPDY
- D.1 Geschichte von HTTP
- D.2 SPDY
- D.3 HTTP/2
- Referenzen
- Index
- Fußnoten
- 1 Einleitung
- 2 Einführung in REST
- 3 Fallstudie: OrderManager
- 4 Ressourcen
- 5 Verben
- 6 Hypermedia
- 7 Repräsentationsformate
- 8 Fallstudie: AtomPub
- 10 Caching
- 11 Sicherheit
- 12 Dokumentation
- 13 Erweiterte Anwendungsfälle
- 14 Fallstudie: OrderManager, Iteration 2
- 15 Architektur und Umsetzung
- 16 »Enterprise REST«: SOA auf Basis von RESTful HTTP
- 17 Weboberflächen mit ROCA
- D HTTP/2 und SPDY
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.