H t Heterogene D Darstellungen t ll – – – z Aufgaben der Darstellungsschicht bzw. der Anwendungsschicht im Internet – – 4 Di 4. Die IInternett t Protokollsuite (III) ♦ ♦ z Darstellungsproblematik Anwendungen: Behandeln der Darstellung (Syntax) von Informationen Bewahren der Bedeutung (Semantik) der Informationen Beispiel: Transparente Übertragung nicht ausreichend 24 Bit Integer Umkodierung 32 Bit Integer erforderlich Schicht 5 E-Mail × Dateitransfer × Netzmanagement × World Wide Web × S hi h 4 Schicht Schicht 3 Transparente Übertragung 125 – z z z 126 Universal: Global definierte Typen, Typen z.B. z B Integer Application: Typen, die in einem anderen Standard definiert werden (z.B. FTAM, MHS) P i t Für Private: Fü Anwendungen A d eines i B Benutzers t d definierte fi i t T Typen Context-Specific: Typen, die nur in dem speziellen Kontext, in dem sie eingesetzt werden, definiert sind 04. Internet-Anwendungen [TKDN] WS 2007/08 z Elementare Datentypen: z Strukturierte Datentypen: – ASN.1 erlaubt Typdefinitionen und die Spezifikation von Werten Die Datentypen werden in ASN.1 in 4 Klassen eingeteilt: z Schicht 3 ASN 1 Universal ASN.1: U i l Typen T Die abstrakte Syntax-Notation Syntax Notation eins für Darstellungsunabhängige Syntax (ASN.1, Abstract Syntax Notation 1) ist eine von der ISO genormte Beschreibungssprache. – S hi h 4 Schicht 04. Internet-Anwendungen [TKDN] WS 2007/08 ASN 1 ASN.1 z Lokale Darstellung der Information Schicht 5 ... Fachgebiet „Kommunikationsnetze“ Unterschiedliche Rechnersysteme → verschiedene Darstellungen Konsequenz: Umkodieren der zu übermittelnden Daten ist erforderlich Austauschstandards ... Telekommunikationsdienste und –netze Boolean, Integer, Bitstring, Octetstring, IA5String, … – S Sequence: – – Set: S Sequence OF: OF – Set OF: – Choice: Beispiel: Mitarbeiter ::= Set { 127 Geordnete G d Li Liste von Datentypen D (vgl. Record in PASCAL) Ungeordnete Menge von Datentypen G d t Li Geordnete Liste t von El Elementen t d des gleichen l i h Datentyps (vgl. Array in PASCAL) Ungeordnete Menge von Elementen des gleichen Datentyps Ungeordnete Menge von Datentypen, aus der einige Datentypen ausgewählt werden können g Varianter Record in PASCAL) (vgl. Name Alter Personalnr IA5String, Integer Integer, Integer } 04. Internet-Anwendungen [TKDN] WS 2007/08 Ziele und Vorteile elektronischer P t Post ASN 1 K ASN.1: Kodierung di / Dekodierung D k di z Basis Kodierungsregeln (Basic Encoding Rules, Basis-Kodierungsregeln Rules BER): Bezeichner Bit 7 6 Länge 5 4 z – Inhalt 3 2 1 Hauptziel: Internationaler Dienst zum Austausch elektronischer g zwischen Personen oder zwischen Rechnern Mitteilungen Inhalt h l 0 Inhalt Briefkasten Postamt Typklasse Datentyp 00: Universal 0: einfach 01: Application 1: strukturiert 02: Context Specific 03: Private z Absender Umschlag Ter Terminal 1 5 Absender 129 04. Internet-Anwendungen [TKDN] WS 2007/08 Fil File System z z z z z 130 SenderSMTP Empfänger SMTP Commands Replies p ReceiverSMTP Message g Transfer Agent Message g Transfer Agent (b) Elektronische Post User Agent Ter Terminal Empfänger 04. Internet-Anwendungen [TKDN] WS 2007/08 R: 220 MIT-Multics.Arpa MIT-Multics Arpa Simple Mail Transfer Service Ready S: HELO Isi-VaxA.Arpa R: 250 MIT-Multics.Arpa S: MAIL FROM: [email protected] R: 250 OK S: RCPT TO: [email protected] Jones@MIT Multics Arpa R: 250 OK S: DATA R: 354 Start mailil iinput; end d with i h <CRLF>.<CRLF> S: < Text Line 1 > < etc. > . R: 250 OK S QUIT S: R: 221 MIT-Multics.Arpa Service closing transmission channel Fil File System Internet-Mailil verwendet d für f die di Üb Übermittlung i l von Mitteilungen i il d das Simple Mail Transfer Protocol (SMTP) Bei einigen Betriebssystemen (z.B. bei Unix: sendmail) sind Senderund Receiver-SMTP in einem Betriebssystemprozess realisiert. Ein Receiver-SMTP kann Nachrichten für nicht-lokale Benutzer entweder ablehnen oder weitervermitteln. Der Benutzer verwendet eine Benutzerschnittstelle zu dem SenderSMTP (z.B. bei Unix: mail). Internet-Mail Internet Mail bietet die Dienste Übermittlung und Vervielfältigung an. 04. Internet-Anwendungen [TKDN] WS 2007/08 User Agent Internet-Mail: Ein Beispiel fü einen für i SMTP-Dialog SMTP Di l I t Internet t Mail: M il Das D SMTP-Modell SMTP M d ll User Umschlag (a) Traditionelle Brief-Post Länge Inhalt Bezeichner 00 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 128 Briefkasten Tag-Nummer 0..30: wie angegeben 31: nächstes Byte gibt Tag an Beispiel: Integer Wert 5 Universal 2 Klasse einfach Integer Postamt 131 04. Internet-Anwendungen [TKDN] WS 2007/08 Internet-Mail: A Anschluss hl d des Client Cli t über üb POP3 Internet-Mail: A Anschluss hl d des Client Cli t über üb IMAP empfangene Nachrichten SMTP z Internet Message Access Protocol (IMAP) – gesendete Nachrichten – Internet Mail Folder – Mail Client IMAP unterstützt wie POP das Herunterladen der Mails von einem Mail-Server IMAP bildet funktional eine Obermenge von POP Im Gegensatz zu POP bietet IMAP Funktionen, um Mail schon y auf den Server zu durchsuchen und zu analysieren z z POP 3 z – – 132 Post Office Protocol POP in der Version 3 Mittels POP3 holt der Mail-Client die vom SMTP-Server empfangenen und in den Mail Folder eingestellten Meldungen ab – IMAP4 liefert u.a. zusätzliche Funktionalität in der Autorisierungsphase („Kerberos“) und in der Unterstützung allgemeiner ll i Mailboxen M ilb mit i Zugriffsmöglichkeiten Z iff ö li hk i mehrerer h Benutzer bzw. Benutzergruppen 133 04. Internet-Anwendungen [TKDN] WS 2007/08 Der Zustand des Mail-Kontos wird somit auf dem Mail-Server geführt. Man kann p per IMAP von verschiedenen Rechnern an sein MailKonto gelangen und hat dennoch immer eine konsistente Sicht auf empfangene und gelesene Mails IMAP bietet einen selektiven oder auch einen partiellen N h i ht t Nachrichtentransfer f 04. Internet-Anwendungen [TKDN] WS 2007/08 D MIME Der MIME-Standard St d d z z SMTP sieht nur einfache ASCII ASCII-Texte Texte als Nachrichten vor und definiert dementsprechend keine Struktur für den Hauptteil einer Nachricht. MIME erweitert den Hauptteil einer Nachricht um Formatinformation Hierzu werden zwei neue Formatinformation. Datenfelder für den Kopfteil einer Nachricht definiert: – – z Benutzerschnittstelle Nachrichtenkopf (incl. MIME MIME-Formatanweisungen) Formatanweisungen) Nachrichtenrumpf Content-Type: definiert den Typ des Hauptteils, bi h T bisher Text, t M Multipart, lti t M Message, A Application li ti (Binary), Image, Audio, Video und X-private. Content-Transfer-Encoding: definiert die TransferSyntax, in der die Daten des Hauptteils übertragen werden bisher Base 64 werden, 64, Quoted Printable Printable, 7bit, 7bit 8bit und binary vereinbart. Benutzer Text Bild DienstnehmerSteuerprozess FTP-Kommandos FTP-Antworten DienstgeberSteuerprozess DienstnehmerDatentransferprozess Daten DienstgeberDatentransferprozess Weitgehende Kompatibilität zur herkömmlichen Internet-Mail: – – 134 FTP File FTPFil Transfer T f P Protocol t l Mit der Mi d Transfersyntax T f Base B 64 iist es möglich, ö li h Binärdaten durch Subnetze zu leiten, die nur die Übertragung von 7-Bit-ASCII-Texten erlauben. Die Transfersyntax Quoted Printable erlaubt nationale Sonderzeichen. Sonderzeichen Wird eine solche Mail von einem "normalen Mailer" angezeigt, so werden nur diese Erweiterungen verstümmelt. 04. Internet-Anwendungen [TKDN] WS 2007/08 Dateisystem Audiosequenz Dienstnehmer 135 04. Internet-Anwendungen [TKDN] WS 2007/08 Dienstgeber Dateisystem FTP - Konzepte K t z z FTP unterstützt keine virtuellen Dateien und kein Übersetzen von Dateitypen FTP Optionen: FTP-Optionen: – – – z N t Netzmanagement t - Regelkreis R lk i Statusüberwachung g und Ereignismeldungen Datentyp (Text, Bitstrom, Bitgruppen) Dateistrukturen ((File,, Record,, Page) g ) Übertragungsmodus (Stream, Block, Compressed) FTP-Dienste: – – – – – Verbindungsaufbau mit Authentifizierung Dateiübertragung (z.B. put, get) O Operationen i auff Dateisystem D i (z.B. ( B cd, d di dir)) Hilfefunktionen (z.B. Kommando-Auflistung inkl. Parameter) Weitere implementierungsabhängige Dienste möglich 136 Steuernder Eingriff in die Netzwerkkomponenten 137 04. Internet-Anwendungen [TKDN] WS 2007/08 04. Internet-Anwendungen [TKDN] WS 2007/08 Funktionale Aufteilung der N t Netzverwaltung lt M Managementbereiche tb i h Zu verwaltende Ressourcen Anwendung Anwendung Anwendung Managementbereich FCAPS z Anwendungsmanagemen z z Daten Datenbestand Daten Datenbestand z Informationsmanagemen z Netz- und Systemy ressourcen Workstation Host PC Kommunikationsnetz Kommunikationshardware: Brücken, Router, ... Kommunikationssoftware: Protokollimplementierung, ... 04. Internet-Anwendungen [TKDN] WS 2007/08 Failure Management – Fehlermanagement Configuration Management – Konfigurationsmanagement Accounting Management – Abrechnungsmanagement Performance Management – Leistungsmanagement Security Management – Sicherheitsmanagement Bereiche B i h sind i d nicht i h strikt ik voneinander i d getrennt z Einzelne Funktionen können mehreren Bereichen zugeordnet d t werden d z Funktionen eines Bereichs sind Grundlage für die Funktionen eines anderen Bereichs Systemmanagement 138 ManagementM t anwendung Netzwerkmanagement 139 04. Internet-Anwendungen [TKDN] WS 2007/08 Allgemeine Netzwerkmanagementarchitektur t hit kt Managee mentanwendung M Managed d Object Obj t Managed j Object Managed Object Operationen Verhalten Attribute Anfrage Operationsaufruf Manager g Managementdienste betroffene Komponente Agent g Antwort auf Anfrage Operationsergebnis Meldung zu verwaltende Netzwerk- oder Systemressource Sammlung von Managed Objects in der Management Information Base (MIB) Managementprotokoll 140 04. Internet-Anwendungen [TKDN] WS 2007/08 141 04. Internet-Anwendungen [TKDN] WS 2007/08 Das Simple Network M Management t Protocol P t l (SNMP) M Management t im i Internet I t t z Ausgangspunkt z Ergebnisse wurden zusammengefasst in – – – z Manager Structure off Management S M Information I f i SMI (1988 (1988, RFC 1065 / 1155) Management Information Base MIB (1988, RFC 1066 / 1156) Weiterentwicklung – z Simple Gateway Monitoring Protocol SGMP (1987, RFC 1028) SNMP Simple Network Management Protocol SNMP (1988, RFC 1098 / 1157) Neue Versionen – – Simple Network Management Protocol version 2 SNMPv2 (1992, RFC 1441 – RFC 1452; 1996, RFC 1902 – RFC 1910) Simple p Network Management g Protocol version 3 SNMPv3 (1999, RFC 2570 – RFC 2576) 04. Internet-Anwendungen [TKDN] WS 2007/08 GetRequest Get-NextRequest SetRequest GetResponse Trap SNMP UDP IP IP p (beispielsweise Ethernet) 143 Agent UDP Netzinfrastruktur Ursprünglich sollte die SNMP-Architektur nur als Übergangslösung genug g ist. Spätestens p mit dienen, bis die ISO/OSI-Architektur stabil g der neuen Version SNMPv2 wurde dieser Gedanke fallengelassen! 142 Managementkommunikation 04. Internet-Anwendungen [TKDN] WS 2007/08 Das Simple Network Management Protocol Version 2 (SNMP 2) (SNMPv2) z Neue Protokolloperationen: – – z z Get-Bulk zur effizienten Abfrage größerer Datenmengen Inform zum Austausch von Managementinformation zwischen zwei Managern z z – – 144 unsichere Nachrichten, d.h. wie bislang mit der alten Version authentische Nachrichten, Authentifizierung des Senders durch ein p , z.B. MD5 Authentifikationsprotokoll, private Nachrichten, Verschlüsselung zusätzlich zur Authentifizierung, z.B. durch DES – aktuell: – Eigenschaften: Insgesamt 18 Meldungen ld vorgesehen h ((gegenüber b 6 vorher) h ) 145 Erster Prototyp Ende 1990 z Durchbruch des WWW durch den von Marc Andreesen und Eric Bina (University of Illinois) entwickelten WWW-Client Mosaic – – – z Wiederverwendung existierender Spezifikationen z z Unterstützung aller existierenden und zukünftigen oto o e s o e Protokollversionen Integration verschiedener Sicherheitsmodelle z Unterstützung von Mechanismen zur entfernten Konfiguration Weiterentwicklung auch nur einzelner Module PDU-Format (Get, ...) und Objektsyntax (SMI) nach SNMPv2 Authentifizierung und Vertraulichkeit sowie Zugriffskontrolle W ist Was i t das d World-Wide W ld Wid W Web? b? z z grafisch (auf g ( NEXTStep) p) und zeilenorientiert ursprünglich ü li h auff Unix-Workstation U i W k t ti unter t X X-Window-System Wi d S t entwickelt t i k lt als Quellcode per FTP kostenlos verfügbar → schnelle Verbreitung Gründung g eines W3-Konsortiums zur Standardisierung g des WWW im Juli 1994 (Vorsitzender: Tim Barners-Lee) 04. Internet-Anwendungen [TKDN] WS 2007/08 modular und erweiterbar 04. Internet-Anwendungen [TKDN] WS 2007/08 Ziel: Einfacher weltweiter Austausch von Dokumenten zwischen den Wi Wissenschaftlern h fl z z – Hervorgegangen aus Arbeiten des britischen Informatikers Tim Barners-Lee am europäischen Forschungszentrum CERN (Genf) – RFCs 2570-2576 (1999, draft standards) – zusätzlich usät c benötigte be öt gte Information o at o für ü sogenannte soge a te S SNMPv2-Parties a t es allerdings: dadurch Inkompatibilität in der PDU-Struktur zu SNMPv1 04. Internet-Anwendungen [TKDN] WS 2007/08 einheitliches Internet-Managementrahmenwerk – Zur Entwicklung des W ld Wide World Wid Web W b (WWW) 146 Ziel: z Zusätzliche Fehlermeldungen – z – z drei Stufen: z z 1997 begann in der IETF die Entwicklung von SNMPv3 Erweiterte Sicherheitsmechanismen – z Das Simple Network Management Protocol Version 3 (SNMP 3) (SNMPv3) z 147 „an an internet-wide internet wide distributed hypermedia information retrieval system“ [Liu et al. 1994] „a global seamless environment in which all information ((text,, images, g , audio,, video,, computational p services) that is accessible from the Internet can be accessed in a consistent and simple way by using a standard d d set off naming i and d access conventions“ i “ [WebMaster Magazine 1996] „the th universe i off network-accessible t k ibl iinformation, f ti th the embodiment of human knowledge“ [W3C 1999] 04. Internet-Anwendungen [TKDN] WS 2007/08 Anforderungen eines verteilten D k Dokumentensystems t t Id Ideen und d Ziele Zi l des d Web W b z z z z z z Lokalisierung von Information mit Hilfe einer einheitlichen Adressierungsmethode Einheitlicher Zugang (lesen und schreiben) über eine standardisierte Benutzerschnittstelle Inhalte als Hypermedia-Dokumente Hypermedia Dokumente, visualisierbar visualisierbar, abspielbar auf unterschiedlichsten Rechnern Integration g externer Informationsquellen q (z.B. Datenbanken) Unterstützung g von Transaktionen als Grundlage g für interaktive Anwendungen (Client/Server) Keine Reglementierung von Informationsanbietern, inhärente Informationsverteilung 148 04. Internet-Anwendungen [TKDN] WS 2007/08 z K di Kodierung der d D Dokumente k t – – – z Identifikation der Dokumente – – z Inhalt Semantik Darstellung Lokalisierung Zugriff Transport p der Dokumente 149 04. Internet-Anwendungen [TKDN] WS 2007/08 Lösungen für d World-Wide das W ld Wid Web W b z D k Dokumentenformat t f t – z z z Document Type D T Definition D fi i i (DTD) Standardized General Markup Language (SGML) – Einheit der Kommunikation zwischen Client und Server Statisch oder dynamisch WebSeite Uniform Resource Identifier (URI) z z Uniform U if R Resource Name N (URN) Uniform Resource Locator (URL) WebClient Hypertext Transfer Protocol (HTTP) Request Response WebServer HTTP 150 04. Internet-Anwendungen [TKDN] WS 2007/08 WebSeite WebSeite Transferprotokoll – Client/Server-Architektur Client/Server Architektur Synchrones Kommunikationsmodell (Request/Response) Ressourcen – Identifikationsschema – z z HyperText Markup Language (HTML) z z A hit kt und Architektur d Protokolle P t k ll 151 04. Internet-Anwendungen [TKDN] WS 2007/08 WebSeite Ressourcen Einheitliche R Ressourcenidentifikation id tifik ti R Ressourcen im i World-Wide W ld Wid Web W b z z z Aufbau A fb d der ausgetauschten t ht D Dokumente k t Darstellung am Bildschirm Anbindung von externen Quellen – z z – – Common Gatewayy Interface (CGI) z Formulare in HTML für die Parametererfassung z Response (HTML mit Tags) Request(URL [CGI] + Parameter) Web Server – – Response(HTML mit Ergebnis) 152 04. Internet-Anwendungen [TKDN] WS 2007/08 153 04. Internet-Anwendungen [TKDN] WS 2007/08 U if Uniform R Resource Name N (URN) S t fü Syntax für alle ll Id Identifikatoren tifik t [RFC 1630] 1630]: – <uri> ::= <scheme> : <scheme specific part> <scheme>":"<scheme-specific-part> – <scheme> z z z z <scheme-specific-part> z Enthält aktuelle Identifikation entsprechend des scheme z – – 154 Namen Lokationen / Adressen Metainformationen – – Uniform Resource Name – Uniform Resource Locator – Uniform Resource Cha a te i ti Characteristic 04. Internet-Anwendungen [TKDN] WS 2007/08 – – – 155 <urn> ::= "urn:" " " <nid> id " ":" " <nss> nid = Namespace Identifier nss = Namespace N S Specific ifi String S i Eigenschaften: – URIs können sein: – Vereinheitlichung jeglicher Namensgebung URN [RFC 1737, RFC 2141] – Bezeichnet das Namensschema für diesen URI – erweiterbar vollständig als einfache Zeichenkette darstellbar sein sein. Uniform Resource Identifier (URI) z Web-Ressourcen, FTP-Ressourcen, News-Ressourcen, Mailboxes, Directories, Dienste, ... Identifikationsschema d ifik i h muss – CGIProgramm Per Name, Name Per Adresse / Lokation. Jede Ressource im Internet soll identifizierbar sein – Request URL Browser Informationsressourcen müssen eindeutig identifizierbar sein Global eindeutig Dauerhaft beständig Skalierbar k l b und d erweiterbar b Unterstützung bestehender Anwendungen U bhä i Unabhängig 04. Internet-Anwendungen [TKDN] WS 2007/08 URN - Auflösung A flö z U if Uniform R Resource Locator L t (URL) IInfrastruktur f t kt fü für URN URNs zur Z Zeit it noch h iim experimentellen Stadium – – – – z z Resolver l Discovery i Dienste i (RDS) ( ) Namensdienste / Namensauflösung (URN Resolver) Auflösung eines URN in URL oder URC Weitere Informationen: RFC 1737, 2276 Vereinheitlichung V i h itli h jjeglicher li h Adressangabe Ad b URL scheme Definitionen [RFC 1738] – z scheme-specific-part: – ["//"][user [":"password] "@"] host [":"port] ["/"url-path] – Definitionen fi i i verwaltet l die di Internet Assigned i d Numbers Authority R l ti URLs Relative URL sind i d möglich ö li h – 156 04. Internet-Anwendungen [TKDN] WS 2007/08 http, https, ftp, news, nntp, mailto, telnet, ldap, ... 157 04. Internet-Anwendungen [TKDN] WS 2007/08 Protokoll-Flexibilität des WebCli t Clients Ab Abgrenzung: Web W b und d Internet I t t z Das Internet ist eine Verknüpfung heterogener Netzwerke – – – Ö WWW Ser er WWW-Server HTTP Netzwerkprotokoll IP schafft die Transparenz Verschiedene Transportprotokolle sind verfügbar ((TCP,, UDP,, RTP,, ...)) Es existiert eine Vielzahl von Anwendungsprotokollen (Telnet, FTP, NNTP, SMTP, HTTP ...)) HTTP, FTP NNTP Mail Ser er Mail-Server ... SMTP WWW-Client z FTP: – Das World-Wide Web ist einer von vielen Internetdiensten andere Internetdienste Internetdiensten, können allerdings im World-Wide Web integriert werden. werden 04. Internet-Anwendungen [TKDN] WS 2007/08 NEWS Ser er NEWS-Server Internet z – – z 159 Anzeige von Dateien eines FTP-Servers in der d Web-Seite b oder d d direkte k 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: – 158 FTP Ser er FTP-Server Struktur des URL ist mailto:name@adresse 04. Internet-Anwendungen [TKDN] WS 2007/08 M di t Medientypen im i Web W b z z z D k Dokumentenformat: t f t HTML Offenes Konzept zur Integration beliebiger Medien Übermittlung von Medien als MIME-Types (Multipurpose Internet Mail Extension) Interpretation verschiedener Medientypen im Web – – – – 160 z z HyperText H T tM Markup k LLanguage Entwurfsziele – – Im Web-Browser Web Browser eingebaut für elementare Typen (HTML, Text, GIF, JPEG, ...) Durch Browser Plug-Ins (PDF R (PDF, Reall A Audio, di R Reall Vid Video, ...)) Durch Aufruf externer Anwendungen ((Helper p Applications, pp , z.B. für PostScript) p) Abspeichern als Datei – z Aufgeteilt g in – – z Einfach Anwendungsübergreifend Plattformunabhängig HEAD (Dokumentenkopf) BODY O (Dokumentenrumpf) ( o u e te u p ) Erlaubt Informationseingabe über Forms 161 04. Internet-Anwendungen [TKDN] WS 2007/08 04. Internet-Anwendungen [TKDN] WS 2007/08 Beispiel: Ein HTML- (Minimal-) D k Dokument t <html> ht l <head> <title> Dokumenttitel </title> / </head> <body> <p>Dies ist ein HTML-Dokument.</p> </body> </html> /ht l z z z <...>: < >: Start-Tag </...>: Ende-Tag html, head, ..: El Elementtypen h heißen iß in i SGML Generic Identifier (GI) Ein HTML-Dokument besteht aus head und d body z Verschiedene Strukturierungsmöglichkeiten des body-Elements (z B <p>: Absatz; <br>: neue Zeile; <hn>: Überschrift der Ebene n) (z.B. z Diverse Schriftauszeichnungsmöglichkeiten (z.B. <em>: hervorheben; <strong>: stark hervorheben; <i>: italic; <b>: fett) z z 162 z T Transferprotokoll f t k ll z z – – z – z einfach / leichtgewichtig schnell Ergebnis: Hypertext Transfer Protocol HTTP – – – 163 Request / Response – Protokoll Transaktionscharakter Entwurfsziele – Standardzeichensatz: ISO 8859-1 (8-bit, ASCII als Untermenge enthalten) d h HTML 3 wurden durch d weitere i ((z.B. B U Unicode, i d 16 16-bit) bi ) d definiert fi i 04. Internet-Anwendungen [TKDN] WS 2007/08 Identifizierte Ressourcen müssen transportiert werden Client/Server-Architektur Basierend auf TCP/IP Idempotent, daher zustandslos ASCII-kodiert 04. Internet-Anwendungen [TKDN] WS 2007/08 Das HyperText T Transfer f Protocol P t l z HTTP: HyperText Transfer Protocol – – z z Version 0.9 und 1.0 im RFC1945 beschrieben seit Januar 1997 existiert eine Version 1.1 (RFC2068) A f b Aufgaben: – URL einlesen Wesentliche Eigenschaften – – – – z W b Cli t Web-Client z Servername ASCII-Anwendungsprotokoll setzt auf eine (sichere) TCP TCP-Verbindung Verbindung auf Default-Port: 80 kurzlebige Verbindung, da der HTTP-Server nach Beantwortung einer A f Anfrage d durch hd den HTTP HTTP-Client Cli t di die V Verbindung bi d sofort f t schließt hli ßt bestimmen z Dateiname extrahieren – Beispiele von Befehlen, 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 – – – – – – 164 TCP-Verbindung g zum Server / Proxyy aufbauen HTTP-Request erstellen und schicken HTTP Response (aktiv) empfangen HTTP-Response HTTP-Response interpretieren Inhalte darstellen bzw. ausführen 165 04. Internet-Anwendungen [TKDN] WS 2007/08 extrahieren und Serveradresse 04. Internet-Anwendungen [TKDN] WS 2007/08 W bS Web-Server A f b Aufgaben – z z – z Zugriff ff auff Dateisystem Eventuell Delegation Mit entsprechender Response antworten Unterschiedliche Realisierungsmöglichkeiten – – 166 Client Iterativer i Server Nebenläufiger Server 04. Internet-Anwendungen [TKDN] WS 2007/08 167 Server Benutzer Ressource laden Analyse der Seite Tra ansaktion 3 – Auf HTTP-Requests warten HTTP-Requests interpretieren Requests bearbeiten Transsaktion 1 – Transaktion n2 z HTTP T HTTP-Transaktion kti Request Request 04. Internet-Anwendungen [TKDN] WS 2007/08 Ressource lladen d Ressource laden HTTP/1 1 HTTP/1.1 z z z Abl f bei Ablauf b i HTTP/1.0 HTTP/1 0 Protokoll auf Anwendungsebene Für verteilte, kooperativ genutzte HypermediaInformationssysteme Eigenschaften: – – – – – – – htt // http://www.tu-ilmenau.de/index.html t il d /i d ht l Connect TCP Socket Connect TCP Socket Generisch G i h Zustandslos Objektorientiert Offen Unterstützt Typisierung von Daten Unterstützt Verhandlung über Datenrepräsentation Unabhängig von den übertragenen Daten 168 GET /index.html HTTP/1.0 ACCEPT: */* <CR><LF> z z Web Client – 170 Set-Cookie Cookie Web Server 04. Internet-Anwendungen [TKDN] WS 2007/08 HTTP – Zustandsbehaftete K Kommunikation ik ti HTTP ist i t zustandslos, t d l d d.h. h es b besteht t ht k kein i Zusammenhang zwischen zwei Anfragen. Durch die Verwendung von Cookies wird der Zustand beim Client gespeichert. Protokollprimitive: – Client Server (ServerÎClient) (ClientÎServer) 04. Internet-Anwendungen [TKDN] WS 2007/08 <HTML> <HEAD> <title>Homepage der Technischen Universitaet Ilmenau</title> </HEAD> <BODY> ... Inhalt ... Close TCP Socket C ki Cookies z TCP-Verbindung Close TCP Socket 169 04. Internet-Anwendungen [TKDN] WS 2007/08 DNS-Lookup Protokoll=HTTP 171 04. Internet-Anwendungen [TKDN] WS 2007/08 L t t il Lastverteilung bei b i Web-Servern W bS z z B i i l Big/IP Beispiel Bi /IP Verteilten V t ilt eines i D Domäne ä auff mehrere h Subdomänen mit eigenem Rechner Server-Cluster – – Anfragen werden von einem Front-End entgegen genommen Dieser verteilt die Anfragen gemäß einem Al Algorithmus ith auff di die dahinter d hi t liliegenden d S Server z z http://www.f5.com/bigip Berücksichtigung der Auslastung Berücksichtung der angefragten Dokumente 172 173 04. Internet-Anwendungen [TKDN] WS 2007/08 04. Internet-Anwendungen [TKDN] WS 2007/08 W b 2.0 Web 20 Lit Literatur t z Aus: Tim O'Reilly: What is the Web 2.0? Design Patterns and B i Business M Models d l ffor the Next Generation of Software z http://www.oreilly.de/artikel/web20.html z z z 174 04. Internet-Anwendungen [TKDN] WS 2007/08 175 COMER, D.E. D E ; DROHMS, R.: R : Computer Networks and Internets Internets. 3. 3 Auflage, New Jersey : Prentice Hall, 2001. – ISBN 0-13-091449-5. KRÜGER, G. ; RESCHKE, D. (Hrsg.): Lehr- und Übungsbuch Telematik. München, Wien : Fachbuchverlag Leipzig im Carl Hanser Verlag, 2000. – ISBN 3-446-21053-9. MILLER, M. M ; MILLER, P. P E.: E : Managing Internetworks With SNMP. SNMP 3. 3 Auflage, M&T Books, 1999. – ISBN 0-764-57518-X. STEVENS, W.R.: TCP/IP Illustrated. Bd. 3: TCP for Transactions, HTTP, NNTP and d th the UNIX D Domain i P Protocols. t l Addi Addison W Wesley, l 1996 1996. – ISBN 0-201-63495-3. WILDE, E.: World Wide Web – Technische Grundlagen. g Berlin; Heidelberg; New York : Springer-Verlag, 1999. – ISBN 3-54064700-7. 04. Internet-Anwendungen [TKDN] WS 2007/08 RFCs RFC z z z z z 176 SUNBERG, R. R L.: L : File Transfer and Error Recovery, April 1971 (RFC133). RICE, J.: Interactive Mail Access Protocol – Version 3, Februar 1991 (RFC1203). SOLLINS, K. ; MASINTER, L.: Functional Requirements for f Uniform Resource Names, Dezember 1994 (RFC1737). BERNERS-LLEE, T. T ; MASINTER, L. L ; MCCAHILL, M.: Uniform Resource Locators (URL), Dezember 1994 ((RFC1738). ) MYERS, J. ; ROSE, M.: Post Office Protocol – Version 3, Mai 1996 (RFC1939). z z z z RFCs RFC BERNERS-LLEE, T. T ; FIELDING, R. R ; FRYSTYK, H.: Hypertext Transfer Protocol – HTTP/1.0, Mai 1996 (RFC1945) (RFC1945). FREED, N. ; BORENSTEIN, N.: Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, November 1996 (RFC2045) (RFC2045). MOATS, R.: URN Syntax, Mai 1997 (RFC2141). SOLLINS, K.: K : Architectural Principles of Uniform Resource Name Resolution, Januar 1998 (RFC2276) (RFC2276). 04. Internet-Anwendungen [TKDN] WS 2007/08 z z z z 177 HOFMANN, P. P ; MASINTER, L. L ; ZAWINSKI, J.: The Mailto URL Scheme, Juli 1998 (RFC 2368). GELLENS, R. ; NEWMAN, C. ; LUNDBLADE, L.: POP3 Extension Mechanism, November 1998 (RFC 2449). FIELDING, R. ; GETTYS, J. ; MOGUL, J. ; FRYSTYK, H. ; MASINTER, L. ; LEACH, P. ; BERNERS-LEE, T.: Hypertext Transfer Protocol – HTTP/1.1, HTTP/1 1 Juni 1999 (RFC2616). KLENSIN, J. (Ed.): Simple Mail p 2001 Transfer Protocol,, April (RFC2821). z z z z CONNOLLY, D. D ; MASINTER, L. L : The ‚text/html‘ Media Type, Juni 2000 (RFC 2854). MEALLING, M.: Dynamic y Delegation g Discovery System (DDDS) Part One: The Comprehensive DDDS. M. Mealling, Oktober 2002 (RFC 3401 )). HARRINGTON, D. ; PRESUHN, R. ; WIJNEN, B.: An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks, Dezember 2002. (RFC 3411). BERNERS-LEE, T. ; FIELDING, R. ; MASINTER, L.: Uniform Resource Identifier (URI): Generic Syntax, J Januar 2005 (RFC 3986) 2005. 04. Internet-Anwendungen [TKDN] WS 2007/08