Web-Technologien. Architekturen, Konzepte, Trends. Bearbeitet von Matthias Schmauch, Anatol Badach, Sebastian Rieger



Ähnliche Dokumente
Transkript:

Web-Technologien Architekturen, Konzepte, Trends Bearbeitet von Matthias Schmauch, Anatol Badach, Sebastian Rieger 1. Auflage 2003. Taschenbuch. XX, 427 S. Paperback ISBN 978 3 446 22149 9 Format (B x L): 16,8 x 24 cm Gewicht: 838 g Zu Leseprobe schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.

CARL HANSER VERLAG Anatol Badach, Sebastian Rieger, Matthias Schmauch Web-Technologien Architekturen, Konzepte, Trends 3-446-22149-2 www.hanser.de

Inhalt 1 WWW-Konzept, -Anwendungen und Perspektiven... 1 1.1 WWW als weltweites Hypermedia-System... 2 1.2 Internet: Entwicklung, Dienste und Standards... 3 1.2.1 Internet vor der Geburt des WWW... 4 1.2.2 Die Geburt des WWW... 6 1.2.3 Internet nach der Geburt des WWW... 7 1.2.4 Gremien und Standards... 9 Bedeutung von RFCs... 9 IETF-Organisation... 10 Internet Society... 11 1.3 Grundkomponenten des Web-Dienstes... 12 1.3.1 Browser als Web-Clients... 13 1.3.2 Web-Server... 14 1.3.3 Adressierung von Web-Ressourcen... 15 1.4 Web-Dienste im lokalen Netzwerk... 19 1.5 Dateiformate, Seitenbeschreibungssprachen und XML... 21 1.5.1 Dateiformate als MIME-Typen... 22 1.5.2 Evolution von Seitenbeschreibungssprachen... 23 1.5.3 Konzept von HTML... 26 1.5.4 Einsatz von SMIL... 27 1.5.5 Überblick über XML... 29 Document Type Definition... 31 XML Schema Definition... 32 1.5.6 XHTML... 33 1.5.7 WML und XHTMLMP... 34 1.6 Wichtige Kategorien von Web-Anwendungen... 37 1.6.1 Informationssuche mit Suchmaschinen... 38 1.6.2 Electronic Commerce... 40 1.6.3 Webbasiertes Netzwerk- und Facility-Management... 41 1.7 Schlussbemerkungen... 42

VI Inhalt 2 TCP/IP-Protokollfamilie...45 2.1 Komponenten der Protokollfamilie TCP/IP...46 2.2 Prinzip der Kommunikation im Internet...48 2.2.1 Bildung von IP-Paketen...48 2.2.2 Prinzip der Kommunikation im Internet...49 2.2.4 Interpretation von IP-Adressen...51 2.2.5 Zweistufige Adressierung...52 2.2.6 Regeln beim Absenden von IP-Paketen...52 2.3 Internet-Protokoll IP...54 2.4 Protokoll TCP...55 2.4.1 Interpretation einer TCP-Verbindung...56 2.4.2 Steuerungsangaben im TCP-Header...57 2.4.3 Auf- und Abbau einer TCP-Verbindung...58 2.5 Einsatz von DNS...60 2.5.1 Aufbau des DNS-Namensraums...60 2.5.2 Prinzip der Namensauflösung...62 2.6 Schlussbemerkungen...63 3 Web-Protokolle HTTP und ICAP...65 3.1 HTTP-Entwicklung und -Besonderheiten...66 3.1.1 HTTP/0.9 als erste Generation von HTTP...67 3.1.2 HTTP/1.0 als zweite Generation von HTTP...68 3.1.3 HTTP/1.1 als dritte Generation von HTTP...68 3.1.4 HTTP-Verlauf beim Abruf eines Web-Objekts...70 3.1.5 Folge der Zustandslosigkeit von HTTP/1.0...72 3.1.6 Persistente Verbindungen...72 3.1.7 HTTP-Kommunikation über Zwischensysteme...74 3.1.8 Content Negotiation...75 3.1.9 Fragmentierung von Nachrichten...76 3.1.10 Pipelining von Nachrichten...77 3.1.11 Autorisierung von Benutzern...77 3.2 Nachrichten bei HTTP/1.1...78 3.2.1 Typen von Requests...79 3.2.2 Struktur von Request-Nachrichten...81

Inhalt VII 3.2.3 Aufbau von Response-Nachrichten... 82 3.2.4 Klassen von Responses... 83 3.3 Angaben in Headern von HTTP/1.1... 83 3.3.1 General-Header in Requests und Responses... 83 3.3.2 Request-Header... 86 3.3.3 Response-Header... 90 3.3.4 Entity-Header in Requests und Responses... 93 3.4 Besonderheiten von ICAP... 95 3.4.1 Allgemeines über ICAP... 96 3.4.2 ICAP-Verlauf im Request-Modification-Modus... 97 3.4.3 ICAP-Verlauf im Response-Modification-Modus... 98 3.5 ICAP-Anwendungen... 100 3.5.1 ICAP-Anwendungen im Request-Modification-Modus... 101 3.5.2 ICAP-Anwendungen im Response-Modification-Modus... 102 3.6 Typen und Aufbau von ICAP-Nachrichten... 103 3.6.1 Struktur von ICAP-Requests... 104 3.6.2 ICAP URI... 104 3.6.3 Typen von ICAP-Requests... 105 3.6.4 Aufbau von ICAP-Responses... 106 3.6.5 Angaben im Common-Header... 107 3.6.6 Angaben im Request-Header... 108 3.6.7 Angaben im Response-Header... 108 3.7 Schlussbemerkungen... 109 4 Web-Browser und Web-Server-Architekturen... 111 4.1 Webbasiertes Client-Server-Modell... 112 4.2 Funktionsverteilung zwischen Web-Client und Web-Server... 113 4.2.1 Grundfunktionen in Web-Architekturen... 114 4.2.2 Verteilung der Grundfunktionen... 114 4.2.3 Content-Haltung und Verarbeitung... 117 4.2.4 Typische Klassen von Web-Servern... 119 4.3 Browser als Web-Client... 120 4.3.1 Aufbau und Funktionsweise eines Web-Browsers... 120 4.3.2 Browser-Erweiterungen für dynamische Präsentation... 123

VIII Inhalt Dynamik durch Active-Scripting...123 Browserseitige Verarbeitung durch Plug-Ins...124 4.3.3 Unterschiede zwischen Java und Java-Script...125 4.3.4 Alternative Browser-Konzepte...127 4.4 Web-Server für statischen Content...128 4.4.1 Aufbau eines Web-Servers für statischen Content...129 4.4.2 Abruf von statischem Content...130 4.5 Web-Server für dynamischen Content...133 4.5.1 Aufbau eines dynamischen Web-Servers...134 4.5.2 Modulare Erweiterungen von Web-Servern...137 Feste Verarbeitungs-Module am Beispiel SSI...137 Optionale Verarbeitungs-Module am Beispiel von mod_perl...138 4.5.3 Server-Erweiterung über Applikations-Schnittstellen...139 Common Gateway Interface...139 FastCGI...142 4.5.4 Präprozessoren für Content-Templates...144 4.6 Web-Server mit verteilter Content-Verarbeitung...148 4.6.1 Trennung von Content-Erzeugung und -Gestaltung...149 4.6.2 Verarbeitung eines modularisierten Template...151 4.7 Abschließende Bemerkungen...153 5 Webbasierte Transaktionen...155 5.1 Allgemeines über Transaktionen...156 5.1.1 ACID-Paradigma von Transaktionen...157 5.1.2 Funktionskomponenten von Transaktionen...158 5.2 Formen webbasierter Transaktionen...159 5.2.1 Elementare Transaktionen...159 5.2.2 Geschachtelte Transaktionen...160 5.2.3 Verteilte Transaktionen...161 5.3 Transaktions- und Zugriffsmanagement...162 5.3.1 TP-Monitore und Transaktions-Manager...162 5.3.2 2-Phasen Commitment-Protokoll...164 5.4 Beispiele für webbasierte Transaktionen...165 5.4.1 Einfache webbasierte Transaktionen...165

Inhalt IX Transaktion mit Thin Client... 165 Transaktion mit Thick Client... 166 5.4.2 Verteilte webbasierte Transaktionen... 167 Transaktion mit verteilten Ressourcen... 168 Transaktion mit einer verteilten Anwendung... 169 5.5 Session Tracking... 170 5.5.1 URL-Encoding... 171 5.5.2 Einsatz von Cookies... 173 5.6 Schlussbemerkungen... 174 6 WAP-Konzept und -Einsatz... 175 6.1 WAP-Funktion und -Besonderheiten... 176 6.2 Nutzung der Web-Dienste mit WAP... 177 6.3 WAP als eine Protokollfamilie... 179 6.3.1 Protokollarchitektur von WAP... 180 6.3.2 Beispiele für WAP-Protokollstacks... 182 6.4 Komponenten der Protokollarchitektur von WAP... 183 6.4.1 Wireless Datagram Protocol (WDP)... 184 6.4.2 Wireless Transport Layer Security (WTLS)... 185 6.4.3 Wireless Transaction Protocol (WTP)... 186 6.4.4 Wireless Session Protocol (WSP)... 187 6.5 Wireless Application Environment (WAE)... 190 6.6 Web-Dienste und Sprachkommunikation... 192 6.6.1 Architektur von WTA... 192 6.6.2 Beispiel für den WTA-Einsatz... 193 6.7 Besonderheiten von WAP 2.0... 195 6.8 Schlussbemerkungen... 197 7 Web-Switching... 199 7.1 Grundlagen des Web-Switching... 200 7.1.1 Clusterbasiertes Web-Switching... 200 7.1.2 Verteiltes Web-Switching... 202 7.1.3 Ziele von Web-Switching... 204 7.1.4 Strukturen clusterbasierter Web-Systeme... 205 7.2 Web-Switching mit Layer-4-Switches... 208

X Inhalt 7.2.1 Struktur der Switching-Tabelle...210 7.2.2 Übermittlung der IP-Pakete an Web-Server...210 7.3 Web-Switching mit Layer-7-Switches...211 7.3.1 URL-Switching...212 7.3.2 Multi-Domain-Web-Server...213 7.4 Server-Auswahl beim lokalen Web-Switching...215 7.5 Web-Switching mittels DNS...216 7.6 Web-Switching und Transaktionen...217 7.6.1 Web-Switching bei Cookie-Vergabe im Web-Server...218 7.6.2 Spleißen von TCP-Verbindungen im Web-Switch...219 7.6.3 Web-Switching bei Cookie-Vergabe im Web-Switch...220 7.7 Web-Switching mit unidirektionalem Datenverkehr...221 7.8 Schlussbemerkungen...223 8 Web-Caching...225 8.1 Grundlagen von Web-Caching...226 8.1.1 Aufgabe eines Web-Caches...226 8.1.2 Arten von Web-Caches...228 8.1.3 Bewertung von Web-Caches...229 8.1.4 Garantie der Aktualität des Web-Content...233 8.1.5 Web-Pre-Caching...235 8.2 Prüfung der Aktualität des Web-Content...237 8.2.1 Unterstützung der Content-Validierung beim HTTP/1.0...237 8.2.2 Unterstützung der Content-Validierung beim HTTP/1.1...239 8.3 Beeinflussung des Web-Cache-Verhaltens...244 8.4 Web-Caching in lokalen Netzwerken...247 8.4.1 Proxy-Caching-Lösung...247 8.4.2 Transparente Caching-Lösung...248 8.4.3 Transparentes Web-Caching und WCCP-Einsatz...249 8.5 Verbundsysteme von Web-Caches...250 8.5.1 Konzept eines Web-Cache-Verbundsystems...251 8.5.2 Kooperatives Web-Caching...252 8.6 Das Protokoll ICP...253 8.6.1 ICP-Besonderheiten...254

Inhalt XI 8.6.2 Kooperatives Web-Caching mit ICP... 255 8.6.3 Beispiel für einen Ablauf von ICP... 257 8.7 Abschließende Bemerkungen... 259 9 Streaming-Media im Web... 261 9.1 Grundlagen von Streaming-Media... 262 9.1.1 Funktionskomponenten bei Streaming-Media... 262 9.1.2 Erzeugung von Streaming-Media... 264 9.1.3 Abruf von Streaming-Media... 266 9.1.4 Vernetzung von Streaming-Servern... 267 9.2 Protokolle für Streaming-Media... 268 9.2.1 Übermittlung von Streams mit RTP... 270 9.2.2 Überwachung der Stream-Übermittlung mit RTCP... 273 9.2.3 Typischer Protokollablauf beim Streaming... 275 9.2.4 Beschreibung von Streaming-Sessions mit SDP... 276 9.3 Streaming-Media mit HTTP... 277 9.4 Streaming-Media mit RTSP... 279 9.4.1 Requests des RTSP... 279 9.4.2 Typischer Verlauf einer RTSP-Session... 281 9.5 Streaming-Media mit MMS... 283 9.5.1 Typischer Verlauf einer MMS-Session... 283 9.5.2 MMS-Streaming als Folge von ASF-Segmenten... 285 9.6 Schlussbemerkungen... 286 10 Content Delivery Networks... 287 10.1 Konzept von CDNs... 288 10.1.1 Prinzip von Content Delivery... 289 10.1.2 Grundfunktionen von CDNs... 289 10.2 Content Distribution... 291 10.3 Request-Routing... 293 10.3.1 Request-Routing bei vollständiger Content-Auslagerung... 293 10.3.2 Request-Routing bei teilweiser Content-Auslagerung... 294 Beispiel für DNS-basiertes Request-Routing... 295 Beispiel für URL-basiertes Request-Routing... 296 10.3.3 Auswahl des Surrogate-Servers... 297

XII Inhalt 10.3.4 Kooperation zwischen Surrogate-Servern...300 10.4 Content (Distribution) Internetworking...300 10.4.1 Modell für CDI...301 10.4.2 CDI und Request-Routing...302 10.5 Einsatz von Edge Side Includes...303 10.5.1 Konzept von ESI...304 10.5.1 Web-Seiten mit ESI...305 10.5.2 Sprachelemente des ESI...306 10.6 Firmeninterne CDNs...308 10.7 Schlussbemerkungen...309 11 Web Services...311 11.1 Grundlagen von Web Services...312 11.1.1 Entfernter Prozeduraufruf...312 11.1.2 Objektmodell und entfernter Methodenaufruf...314 11.1.3 Web Services als verteiltes Objektsystem...318 11.1.4 Web Services als jüngste Form der Middleware...322 11.2 Konzept und Einsatz von SOAP...323 11.2.1 Besonderheiten von SOAP...324 11.2.2 Aufbau von SOAP-Nachrichten...324 11.2.3 Übermittlung von SOAP-Nachrichten mit HTTP...326 11.2.4 SOAP-Nachrichten mit Attachments...328 11.3 Web Services nach W3C...330 11.3.1 Konzept der Web Services...330 11.3.2 Beispiele für die Nutzung von Web Services...332 11.4 Beschreibung von Web Services mit WSDL...333 11.4.1 Bedeutung von WSDL...334 11.4.2 Spezifikation eines Web Service in WSDL...335 11.5 UDDI als Auskunftsdienst über Web Services...338 11.5.1 Datenstruktur von UDDI...339 11.5.2 Arten von Informationen in UDDI...341 11.5.3 Beziehung zwischen WSDL und UDDI...341 11.5.4 Veröffentlichen und Auffinden eines Web Service...342 11.6 Schlussbemerkungen und Perspektiven...343

Inhalt XIII 12 Web-Sicherheit... 345 12.1 Aspekte der Web-Sicherheit... 346 12.2 Mögliche Angriffe und Risiken... 347 12.2.1 Abhören während der Übertragung... 349 12.2.2 Datenmanipulation und Verlust der Datenintegrität... 350 12.2.3 Vortäuschung einer falschen Identität... 351 12.2.4 Minderung der Verfügbarkeit des Web-Dienstes... 352 12.2.5 Viren und sonstige Angriffe... 354 12.3 Maßnahmen und Verfahren gegen Risiken... 355 12.3.1 Maßnahmen zur Vermeidung von Risiken... 356 12.3.2 Web-Sicherheit durch Umsetzung der Sicherheitsmaßnahmen. 357 12.4 Sicherheitsverfahren... 358 12.4.1 Verschlüsselungsverfahren... 359 Symmetrische Verschlüsselungsverfahren... 359 Asymmetrische Verschlüsselungsverfahren... 361 Hybride Verschlüsselungsverfahren... 362 12.4.2 Einsatz von Hashfunktionen... 363 Erkennung der Datenmanipulation mit einer Prüfsumme... 364 Allgemeines über Hashfunktionen... 365 Prüfung der Datenintegrität... 366 Prüfung der Datenintegrität und Authentifizierung... 367 12.4.3 Nutzung von Signaturen... 369 Digitale Signatur als Folge asymmetrischer Verschlüsselung... 369 Berechnung der digitalen Signatur... 369 Prüfung der Echtheit und Identifikation des Absenders... 370 12.4.4 Authentifizierung... 372 12.4.5 Einsatz der Zertifikate... 374 Notwendigkeit der Zertifikate... 374 Aufbau der Zertifikate... 375 Signierung eines X.509-Zertifikats... 377 Erstellung eines Zertifikats... 377 Zertifikate und Web-Dienst... 379 12.4.6 Filterung von empfangenen Daten... 381 12.5 Public Key Infrastructure (PKI)... 384

XIV Inhalt 12.5.1 Funktionen und Aufbau einer PKI...384 12.5.2 Nutzung einer PKI...386 12.6 Web-Sicherheitsprotokoll SSL/TLS...388 12.6.1 Allgemeines über SSL...389 12.6.2 SSL im Schichten Modell...390 12.6.3 Aufbau einer SSL-Verbindung...392 12.6.4 Record Layer Protocol...394 12.6.5 CipherSuite bei SSL...396 12.7 Einsatz von Firewalls...398 12.8 Schlussbemerkungen...400 Literatur...401 Abkürzungsverzeichnis...409 Index...413