Die Internet-Protokollwelt Wintersemester 2016/17 Die InternetProtokollwelt 9. ANWENDUNGEN IM INTERNET Übersicht Anpassung der Darstellung E-Mail File Transfer World Wide Web DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 310 1 Die Internet-Protokollwelt Wintersemester 2016/17 Heterogene Darstellungen Ziele: ◦ Behandeln der Darstellung (Syntax) von Informationen ◦ Bewahren der Bedeutung (Semantik) der Informationen Transparente Übertragung nicht ausreichend 24 Bit Integer Umkodierung erforderlich Schicht 5 Schicht 4 Schicht 3 Transparente Übertragung Lokale Darstellung der Information 32 Bit Integer Schicht 5 Schicht 4 Schicht 3 ... ◦ Unterschiedliche Rechnersysteme verschiedene Darstellungen ◦ Konsequenz: Umkodieren der zu übermittelnden Daten erforderlich ◦ Austauschstandards Beispiel: ... Aufgaben der Darstellungsschicht: DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 311 ASN.1 Die abstrakte Syntax-Notation eins für eine darstellungsunabhängige Syntax (Abstract Syntax Notation 1, ASN.1): ◦ von der ISO genormte Beschreibungssprache (X.680 – X.683) ◦ erlaubt Typdefinitionen und die Spezifikation von Werten ◦ Datentypen in vier Klassen eingeteilt: Universal: global definierte Typen, z. B. Integer Application: Typen, die in einem anderen Standard definiert werden (z. B. FTAM, MHS) Private: für Anwendungen eines Benutzers definierte Typen Context-Specific: Typen, die nur in dem speziellen Kontext, in dem sie eingesetzt werden, definiert sind DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 312 2 Die Internet-Protokollwelt Wintersemester 2016/17 ASN.1: Universal Types ELEMENTARE DATENTYPEN STRUKTURIERTE DATENTYPEN ◦ Boolean ◦ Sequence: Geordnete Liste von Datentypen (vgl. Record in PASCAL) ◦ Bitstring ◦ Set: Ungeordnete Menge von Datentypen ◦ Octetstring ◦ Sequence of: Geordnete Liste von Elementen des gleichen Datentyps (vgl. Array in PASCAL) ◦ Integer ◦ IA5String ◦ … Beispiel: Mitarbeiter ::= Set { Name Alter Personalnr IA5String, Integer, Integer } ◦ Set of: Ungeordnete Menge von Elementen des gleichen Datentyps ◦ Choice: Ungeordnete Menge von Datentypen, aus der einige Datentypen ausgewählt werden können (vgl. Varianter Record in PASCAL) 313 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET ASN.1: Kodierung/Dekodierung BASIS-KODIERUNGSREGELN (BASIC ENCODING RULES, BER) Bezeichner Bit 7 6 BEISPIEL: INTEGER MIT WERT 5 Länge 5 4 3 Inhalt 2 1 0 Bezeichner 2 Universal einfach Integer Typklasse Datentyp 00: Universal 0: einfach 01: Application 1: strukturiert 02: Context Specific 03: Private Inhalt 1 5 Tag-Nummer 0..30: wie angegeben 31: nächstes Byte gibt Tag an DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz Länge 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 314 3 Die Internet-Protokollwelt Wintersemester 2016/17 Ziele und Vorteile elektronischer Post Hauptziel: Internationaler Dienst zum Austausch elektronischer Mitteilungen zwischen Personen Inhalt Inhalt oder zwischen Rechnern Briefkasten Postamt Postamt Briefkasten Absender Umschlag Empfänger Umschlag (a) Traditionelle Brief-Post Terminal User Agent Message Transfer Agent Message Transfer Agent User Agent Terminal (b) Elektronische Post Absender Empfänger 315 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Mail im Internet User File System SenderSMTPInstanz SMTPCommands Replies ReceiverSMTPInstanz File System Simple Mail Transfer Protocol, SMTP [RFC 5321] ◦ für die Übermittlung von E-Mails ◦ Dienste: Übermittlung und Vervielfältigung von E-Mails ◦ Sender- und Receiver-SMTP-Instanz in einem Betriebssystemprozess realisiert ◦ Receiver-SMTP-Instanz kann Nachrichten für nicht-lokale Benutzer entweder ablehnen oder weitervermitteln DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 316 4 Die Internet-Protokollwelt Wintersemester 2016/17 Mail im Internet: Ein Beispiel für einen SMTP-Dialog R: S: R: S: R: S: R: S: R: S: 220 MIT-Multics.Arpa Simple Mail Transfer Service Ready HELO Isi-VaxA.Arpa 250 MIT-Multics.Arpa MAIL FROM: [email protected] 250 OK RCPT TO: [email protected] 250 OK DATA 354 Start mail input; end with <CRLF>.<CRLF> < Text Line 1 > < etc. > . R: 250 OK S: QUIT R: 221 MIT-Multics.Arpa Service closing transmission channel 317 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Mail im Internet: Abholen von E-Mails über POP3 empfangene Nachrichten SMTP Internet gesendete Nachrichten Mail-Server Mail-Folder Mail-Client POP 3 Post Office Protocol, POP in der Version 3 [RFC 1939] Senden von E-Mails mittels SMTP (Sender Mail-Server) Empfang von E-Mails vom Mail-Server mittels POP3 (Mail-Server Client) DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 318 5 Die Internet-Protokollwelt Wintersemester 2016/17 Mail im Internet: Abholen von E-Mails über IMAP Internet Message Access Protocol, IMAP in der Version 4 rev. 1 [RFC 3501] ◦ Herunterladen der E-Mails von einem Mail-Server (wie POP3) ◦ funktionale Obermenge von POP ◦ zusätzliche Funktionen, um E-Mail schon auf den Server zu durchsuchen und zu analysieren: Führen des Zustands des E-Mail-Kontos auf dem Mail-Server konsistente Sicht auf das E-Mail-Konto unabhängig vom verwendeten Client/Endgerät selektiver oder partieller Nachrichtentransfer ◦ zusätzliche Funktionalität in der Autorisierungsphase („Kerberos“) ◦ weitergehende Unterstützung allgemeiner Mailboxen mit Zugriffsmöglichkeiten für mehrere Benutzer bzw. Benutzergruppen 319 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Multipurpose Internet Mail Extension, MIME SMTP: Nachrichtenkopf ◦ einfache ASCII-Texte als Nachrichten ◦ keine Struktur für den Hauptteil einer Nachricht Nachrichtenrumpf MIME [RFCs 2045 – 2049]: ◦ Erweiterung des Hauptteils einer Nachricht um Formatinformation durch zwei neue Datenfelder für den Kopfteil einer Nachricht: Content-Type: Typ des Hauptteils bisher Text, Multipart, Message, Application (Binary), Image, Audio, Video und X-private Content-Transfer-Encoding: Transfer-Syntax, in der die Daten des Hauptteils übertragen werden bisher Base 64, Quoted Printable, 7bit, 8bit und binary DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz (incl. MIMEFormatinformationen) Text Bild Audiosequenz 320 6 Die Internet-Protokollwelt Wintersemester 2016/17 Mail und Sicherheit: Pretty Good Privacy, PGP Aufgabe: Authentisierung und Verschlüsselung von Dateien Funktionsweise (bei Nutzung aller Möglichkeiten): 1. Datenkompression (ähnlich gzip) 2. Daten-Authentisierung durch digitale Signatur 3. Symmetrische Verschlüsselung mit Sitzungsschlüssel, der Public-Key-verschlüsselt vorangestellt wird 4. „Base64”-Kodierung für Mail-Übertragung Datenformat: inzwischen IETF-Standard – OpenPGP [RFC 4880] 321 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Secure Shell, SSH [RFC 4251] Aufgabe: sichere entfernte Rechnernutzung ◦ rsh/rlogin haben keine Authentisierung ◦ telnet überträgt Passworte ungeschützt Funktionsweise: 1. Austausch eines Sitzungsschlüssels (Diffie-Hellman) und Server-Authentisierung (digitale Signatur) danach: symmetrische Verschlüsselung + Message Authentication Code, MAC für alle Pakete 2. Benutzer-Authentisierung (digitale Signatur oder Passwort) Zusätzliche Funktionalität: ◦ Verschlüsselte Dateiübertragung mit scp ◦ Verschlüsselte Tunnel für einzelne TCP-Ports ◦ automatische Einrichtung eines X11-Tunnels DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 322 7 Die Internet-Protokollwelt File Transfer Protocol, FTP Wintersemester 2016/17 Benutzerschnittstelle Benutzer [RFC 959, RFC 3659] Dateisystem ClientSteuerprozess FTP-Kommandos FTP-Antworten ServerSteuerprozess ClientDatentransferprozess Daten ServerDatentransferprozess Client DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Dateisystem Server 323 FTP – Optionen und Dienste FTP-Optionen: ◦ Datentyp (Text, Bitstrom, Bitgruppen) ◦ Dateistrukturen (File, Record, Page) ◦ Übertragungsmodus (Stream, Block, Compressed) FTP-Dienste: ◦ Verbindungsaufbau mit Authentifizierung ◦ Dateiübertragung (z. B. put, get) ◦ Operationen auf Dateisystem (z. B. cd, dir) ◦ Hilfefunktionen (z. B. Kommando-Auflistung inkl. Parameter) ◦ Weitere implementierungsabhängige Dienste möglich DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 324 8 Die Internet-Protokollwelt Wintersemester 2016/17 Zur Entwicklung des World Wide Web, WWW Hervorgegangen aus Arbeiten des britischen Informatikers Tim Barners-Lee am europäischen Forschungszentrum CERN (Genf) ◦ Ziel: Einfacher weltweiter Austausch von Dokumenten zwischen den Wissenschaftlern Erster Prototyp Ende 1990 ◦ grafisch (auf NEXTStep) und zeilenorientiert Durchbruch des WWW durch den von Marc Andreesen und Eric Bina (University of Illinois) entwickelten WWW-Client Mosaic ◦ ursprünglich auf Unix-Workstation unter X-Window-System entwickelt ◦ als Quellcode per FTP kostenlos verfügbar schnelle Verbreitung Gründung eines W3-Konsortiums zur Standardisierung des WWW im Juli 1994, Vorsitzender: Tim Berners-Lee Quelle: Von Paul Clarke - Eigenes Werk, CC-BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=37435469 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 325 Was ist das World Wide Web? „an internet-wide distributed hypermedia information retrieval system“ [Liu et al., 1994] „a global seamless environment in which all information (text, images, audio, video, computational services) that is accessible from the Internet can be accessed in a consistent and simple way by using a standard set of naming and access conventions“ [WebMaster Magazine, 1996] „the universe of network-accessible information, the embodiment of human knowledge“ [W3C, 1999] DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 326 9 Die Internet-Protokollwelt Wintersemester 2016/17 Ideen und Ziele des Web ◦ Lokalisierung von Information mit Hilfe einer einheitlichen Adressierungsmethode ◦ einheitlicher Zugang (lesen und schreiben) über eine standardisierte Benutzerschnittstelle ◦ Inhalte als Hypermedia-Dokumente visualisierbar abspielbar auf unterschiedlichsten Rechnern ◦ Integration externer Informationsquellen (z. B. Datenbanken) ◦ Unterstützung von Transaktionen als Grundlage für interaktive Anwendungen (Client/Server) ◦ keine Reglementierung von Informationsanbietern inhärente Informationsverteilung DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 327 Anforderungen eines verteilten Dokumentensystems Kodierung der Dokumente ◦ Inhalt Dokumentenformat ◦ HyperText Markup Language, HTML ◦ Semantik Document Type Definition, DTD ◦ Darstellung Standardized General Markup Language, SGML Identifikation der Dokumente ◦ Lokalisierung ◦ Zugriff Identifikationsschema ◦ Uniform Resource Identifier, URI Uniform Resource Name, URN Uniform Resource Locator, URL Transport der Dokumente Transferprotokoll ◦ HyperText Transfer Protocol, HTTP DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 328 10 Die Internet-Protokollwelt Wintersemester 2016/17 Architektur und Protokolle Client/Server-Architektur Synchrones Kommunikationsmodell (Request/Response) Ressourcen ◦ Ausgetauschter Inhalt zwischen Client und Server WebSeite ◦ Statisch oder dynamisch WebSeite WebSeite WebClient Request Response WebServer WebSeite Ressourcen HTTP 329 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Festzulegen für Ressourcen im World Wide Web Aufbau der ausgetauschten Dokumente Darstellung am Bildschirm Anbindung von externen Quellen ◦ Common Gateway Interface, CGI [RFC 3875] Formulare in HTML für die Parameterübermittlung Request URL Response (HTML mit Tags) Request(URL [CGI] + Parameter) Web Server CGIProgramm Response(HTML mit Ergebnis) DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 330 11 Die Internet-Protokollwelt Wintersemester 2016/17 Einheitliche Ressourcenidentifikation Informationsressourcen müssen eindeutig identifizierbar sein ◦ Per Name ◦ Per Adresse/Lokation Jede Ressource im Internet soll identifizierbar sein ◦ Web-Ressourcen, FTP-Ressourcen, News-Ressourcen, Mailboxes, Verzeichnisse, Dienste, ... Anforderungen an das Identifikationsschema ◦ erweiterbar ◦ vollständig ◦ als einfache Zeichenkette darstellbar DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 331 Uniform Resource Identifier, URI Syntax für alle Identifikatoren [RFC 3986]: ◦ <uri> ::= <scheme>":"<scheme-specific-part> ◦ <scheme> bezeichnet das Namensschema für diesen URI ◦ <scheme-specific-part> enthält aktuelle Identifikation entsprechend des Schemas URIs können sein: ◦ Namen – Uniform Resource Name, URN ◦ Lokationen/Adressen – Uniform Resource Locator, URL ◦ Metainformationen – Uniform Resource Characteristic, URC DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 332 12 Die Internet-Protokollwelt Wintersemester 2016/17 Uniform Resource Name, URN Vereinheitlichung jeglicher Namensgebung: URN [RFC 1737, RFC 2141] ◦ <urn> ::= "urn:" <nid> ":" <nss> <nid> = Namespace Identifier <nss> = Namespace Specific String Eigenschaften: ◦ global eindeutig ◦ dauerhaft beständig ◦ skalierbar und erweiterbar ◦ Unterstützung bestehender Anwendungen ◦ unabhängig DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 333 URN - Auflösung Infrastruktur für URNs zur Zeit noch im experimentellen Stadium ◦ Resolver Discovery Service, RDS ◦ Namensdienste/Namensauflösung (URN Resolver) ◦ Auflösung eines URN in URL oder URC ◦ Weitere Informationen: [RFC 1737, 2276, 3401] DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 334 13 Die Internet-Protokollwelt Wintersemester 2016/17 Uniform Resource Locator, URL Vereinheitlichung jeglicher Adressangabe URL Schema-Definitionen [RFC 1738, 4248, 4266] ◦ http, https, ftp, news, nntp, mailto, telnet, ldap, ... scheme-specific-part: ◦ ["//"][user[":"password]"@"]host[":"port]["/"url-path] ◦ Definitionen verwaltet die Internet Assigned Numbers Authority, IANA ◦ Relative URLs sind möglich DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 335 Abgrenzung: Web und Internet Internet ◦ Verknüpfung heterogener Netzwerke ◦ gemeinsame Basis: Vermittlungsschichtprotokoll IP (allerdings in verschiedenen Versionen…) ◦ verschiedene Transportprotokolle verfügbar (TCP, UDP, RTP, ...) ◦ Vielzahl von Anwendungsprotokollen (Telnet, FTP, NNTP, SMTP, HTTP, ...) World Wide Web ◦ einer von vielen Internetdiensten ◦ andere Internetdienste allerdings in das World Wide Web integrierbar DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 336 14 Die Internet-Protokollwelt Wintersemester 2016/17 Protokoll-Flexibilität des Web-Clients WWW-Server HTTP FTP-Server NEWS-Server FTP NNTP Mail-Server ... SMTP Internet WWW-Client FTP: ◦ Anzeige von Dateien eines FTP-Servers in der Web-Seite oder direkte Abholung durch Angabe des FTP-URL NNTP: ◦ Angabe der gewünschten Newsgruppe im NEWS-URL ◦ außerdem: eine in einem NEWS-Artikel als URL angegebene Web-Seite kann direkt angesprochen werden SMTP: ◦ Struktur des URL ist mailto:name@adresse DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 337 Medientypen im Web offenes Konzept zur Integration beliebiger Medien Übermittlung von Medien als MIME-Types (Multipurpose Internet Mail Extensions) Interpretation verschiedener Medientypen im Web ◦ im Web-Browser eingebaut für elementare Typen (HTML, Text, GIF, JPEG, ...) ◦ durch Browser Plug-Ins (PDF, Real Audio, Real Video, ...) ◦ durch Aufruf externer Anwendungen (Helper Applications, z. B. für PostScript) ◦ Abspeichern als Datei DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 338 15 Die Internet-Protokollwelt Wintersemester 2016/17 Dokumentenformat: HyperText Markup Language, HTML [RFC 2854] Entwurfsziele ◦ einfach ◦ anwendungsübergreifend ◦ plattformunabhängig Dokument aufgeteilt in ◦ HEAD (Dokumentenkopf) ◦ BODY (Dokumentenrumpf) erlaubt Informationseingabe über Forms DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 339 Beispiel: Ein HTML-(Minimal-)Dokument Start-Tag <...> Ende-Tag </...> Elementtypen html, head, ...: ◦ in SGML definiert als Generic Identifier, GI ◦ Verschiedene Strukturierungsmöglichkeiten des BODY-Elements (z. B. <p> Absatz; <br> neue Zeile; <hn> Überschrift der Ebene n) <html> <head> <title> Dokumenttitel </title> </head> <body> <p>Dies ist ein HTML-Dokument.</p> </body> </html> ◦ Diverse Schriftauszeichnungsmöglichkeiten (z. B. <em> hervorheben; <strong> stark hervorheben; <i> italic; <b> fett) ◦ Standardzeichensatz: ISO 8859-1 (8-bit, ASCII als Untermenge enthalten) durch HTML 3 wurden weitere (z. B. Unicode, 16-bit) definiert DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 340 16 Die Internet-Protokollwelt Wintersemester 2016/17 Transferprotokoll Identifizierte Ressourcen müssen transportiert werden Client/Server-Architektur ◦ Request/Response-Protokoll ◦ Transaktionscharakter Entwurfsziele ◦ einfach ◦ leichtgewichtig ◦ schnell Ergebnis: HyperText Transfer Protocol, HTTP ◦ basierend auf TCP ◦ idempotent, daher zustandslos ◦ ASCII-kodiert DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 341 Das HyperText Transfer Protocol ◦ Version 0.9 und 1.0 im [RFC 1945] beschrieben ◦ seit Januar 1997 existiert eine Version 1.1 [RFC 7230 ff.] Wesentliche Eigenschaften ◦ setzt auf eine (sichere) TCP-Verbindung auf ◦ Default-Port: 80 ◦ kurzlebige Verbindung, da der HTTP-Server nach Beantwortung einer Anfrage durch den HTTP-Client die Verbindung sofort schließt Beispiele von Befehlen (für Request/Response), die der Client in Version 1.0 absetzen kann: ◦ GET: Anfordern eines bestimmten Dokuments ◦ HEAD: Anfordern von Informationen über ein Dokument ◦ POST: Senden von Daten für die weitere Bearbeitung durch den Server DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 342 17 Die Internet-Protokollwelt Wintersemester 2016/17 Web-Client & Web-Server Client: Server: ◦ URL einlesen ◦ auf HTTP-Requests warten Servername extrahieren und Serveradresse bestimmen Dateiname extrahieren ◦ HTTP-Requests interpretieren ◦ Requests bearbeiten Zugriff auf Dateisystem ◦ TCP-Verbindung zum Server/Proxy aufbauen ◦ HTTP-Request erstellen und schicken ◦ HTTP-Response (aktiv) empfangen eventuell Delegation ◦ mit entsprechender Response antworten Unterschiedliche Realisierungsmöglichkeiten ◦ HTTP-Response interpretieren ◦ iterativer Server ◦ Inhalte darstellen bzw. ausführen ◦ nebenläufiger Server 343 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET HTTP-Transaktion Server Benutzer Ressource laden Analyse der Seite Transaktion 3 Transaktion 2 Transaktion 1 Client Request Request DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz Ressource laden Ressource laden 344 18 Die Internet-Protokollwelt Wintersemester 2016/17 HTTP/1.1 [RFC 7230 ff.] für verteilte, kooperativ genutzte Hypermedia-Informationssysteme Eigenschaften: ◦ generisch ◦ zustandslos ◦ objektorientiert ◦ offen ◦ unterstützt Typisierung von Daten ◦ unterstützt Verhandlung über Datenrepräsentation ◦ unabhängig von den übertragenen Daten 345 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Ablauf bei HTTP/1.0 http://www.tu-ilmenau.de/index.html Protokoll=HTTP DNS-Lookup Connect TCP Socket Connect TCP Socket GET /index.html HTTP/1.0 ACCEPT: */* <CR><LF> TCP-Verbindung <HTML> <HEAD> <title>Homepage der Technischen Universität Ilmenau</title> </HEAD> <BODY> ... Inhalt ... Close TCP Socket Close TCP Socket Web Client Web Server DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 346 19 Die Internet-Protokollwelt Wintersemester 2016/17 Cookies HTTP zustandslos, d.h. kein Zusammenhang zwischen zwei Anfragen Zustandsspeicherung durch die Verwendung von Cookies beim Client Befehle: ◦ Set-Cookie ◦ Cookie (Server Client) (Client Server) Beispiele für ein Cookie: ◦ AWID ◦ 141.24.92.233.250231057309646408 ◦ www.adobe.com/ ◦ 1536 ◦ 1739496192 ◦ 29573643 ◦* 347 DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET HTTP – Zustandsbehaftete Kommunikation Client Server DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 348 20 Die Internet-Protokollwelt Wintersemester 2016/17 Lastverteilung bei Web-Servern Verteilen einer Domäne auf mehrere Subdomänen mit eigenem Rechner Server-Cluster ◦ Anfragen von einem Front-End entgegengenommen ◦ Verteilung der Anfragen gemäß einem Algorithmus auf die dahinter liegenden Server Berücksichtigung der Auslastung Berücksichtigung der angefragten Dokumente DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET 349 Beispiel Big/IP http://www.f5.com/bigip DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 350 21 Die Internet-Protokollwelt Wintersemester 2016/17 Web 2.0 Meme Map Web 2.0 Aus: Tim O'Reilly: What is the Web 2.0? Design Patterns and Business Models for the Next Generation of Software http://www.oreilly.de/artikel/ web20.html PageRank, Flickr, Blogs: BitTorrent: eBay Reputation, del.icio.us: Participation, Radical DeAmazon Reviews: User Tagging, not Publishing centralization as Contributor not Taxonomy Google AdSense: Gmail, Google Customer Self-Service Maps and AJAX: Wikipedia: Enabling the Rich User Radical Trust Long Tail Experience Strategic Positioning: An Attitude, not a Technology • The Web as Platform User Positioning: The Long Tail • You Control Your Own Data Data as the Intel Inside Hackability The Perpetual Beta Trust Your Users Small Pieces Loosely Joined Core Competencies: • • • • • • Services, Not Packaged Software Architectures of Participation Cost-Effective Scalability Remixable Data Source and Data Transformations Software Above the Level of a Single Device Harnessing Collective Intelligence The Right to Remix: “Some Rights Reserved” Software That Gets Better the More People Use It DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Rich User Experience Play Emergent: Granular User Behavior Addressability not Predetermined of Content 351 Literatur COMER, Douglas E. (2000): Computernetzwerke und Internets. München: Pearson Studium. COMER, Douglas E. (2011): TCP/IP - Studienausgabe. Konzepte, Protokolle, Architekturen. Heidelberg: mitp. INTERNATIONAL TELECOMMUNICATIONS UNION: ITU-T Recommendation X.680 - X.693, August 2015: Information Technology - Abstract Syntax Notation One (ASN.1) & ASN.1 Encoding Rules. KRÜGER, Gerhard; RESCHKE, Dietrich (2004): Lehr- und Übungsbuch Telematik. Netze - Dienste Protokolle. 3., aktualisierte Auflage. München, Wien: Fachbuchverlag Leipzig im Carl-Hanser-Verlag. STALLINGS, William (2014): Data and Computer Communications. 10th edition. Harlow, Essex, England: Pearson Education. STEVENS, W. Richard; Fall, Kevin R. (2012): TCP/IP Illustrated, Volume 1. The Protocols. Second Edition. Reading, MA: Addison-Wesley. DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 352 22 Die Internet-Protokollwelt Wintersemester 2016/17 RFCs POSTEL, Jon; REYNOLDS, Joyce K. (1985): File Transfer Protocol. Internet Engineering Task Force (IETF) (Request for Comments, 959). SOLLINS, Karen; MASINTER, Larry (1994): Functional Requirements for Uniform Resource Names. Internet Engineering Task Force (IETF) (Request for Comments, 1737). BERNERS-LEE, Tim; MASINTER, Larry; MCCAHILL, Mark (1994): Uniform Resource Locators (URL). Internet Engineering Task Force (IETF) (Request for Comments, 1738). MYERS, John G.; ROSE, Marshall T. (1996): Post Office Protocol - Version 3. Internet Engineering Task Force (IETF) (Request for Comments, 1939). BERNERS-LEE, Tim; FIELDING, Roy T.; FRYSTYK NIELSEN, Henrik (1996): Hypertext Transfer Protocol -- HTTP/1.0. Internet Engineering Task Force (IETF) (Request for Comments, 1945). FREED, Ned; Borenstein, Nathaniel S. (1996): Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies. Internet Engineering Task Force (IETF) (Request for Comments, 2045). MOATS, Ryan (1997): URN Syntax. Internet Engineering Task Force (IETF) (Request for Comments, 2141). SOLLINS, Karen (1997): Architectural Principles of Uniform Resource Name Resolution. Internet Engineering Task Force (IETF) (Request for Comments, 2276). CONNOLLY, Daniel W.; MASINTER, Larry (2000): The 'text/html' Media Type. Internet Engineering Task Force (IETF) (Request for Comments, 2854). MEALLING, Michael (2002): Dynamic Delegation Discovery System (DDDS) Part One: The Comprehensive DDDS. Internet Engineering Task Force (IETF) (Request for Comments, 3401). CRISPIN, Mark R. (2003): Internet Message Access Protocol - Version 4rev1. Internet Engineering Task Force (IETF) (Request for Comments, 3501). HETHMON, Paul (2007): Extensions to FTP. Internet Engineering Task Force (IETF) (Request for Comments, 3659). ROBINSON, David; COAR, Ken A.L. (2004): The Common Gateway Interface (CGI) Version 1.1. Internet Engineering Task Force (IETF) (Request for Comments, 3875). BERNERS-LEE, Tim; FIELDING, Roy T.; MASINTER, Larry (2004): Uniform Resource Identifier (URI): Generic Syntax. Internet Engineering Task Force (IETF) (Request for Comments, 3986). YLONEN, Tatu; LONVICK, Chris (2005): The Secure Shell (SSH) Protocol Architecture. Internet Engineering Task Force (IETF) (Request for Comments, 4251). CALLAS, Jon; DONNERHACKE, Lutz; FINNEY, Hal; SHAW, David; THAYER, Rodney (2007): OpenPGP Message Format. Internet Engineering Task Force (IETF) (Request for Comments, 4880). KLENSIN, John C. (2008): Simple Mail Transfer Protocol. Internet Engineering Task Force (IETF) (Request for Comments, 5321). FIELDING, Roy T.; RESCHKE, Julian F. (2014): Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing. Internet Engineering Task Force (IETF) (Request for Comments, 7230). DIE INTERNET-PROTOKOLLWELT - 9. ANWENDUNGEN IM INTERNET Prof. Jochen Seitz 353 23