close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

Hypermedia

EinbettenHerunterladen
I. Terminologie des WWW
Grundlagen:
Protokolle und Programmierung
Web Site Engineering,
Vorlesung Nr. 1
•
•
•
•
•
•
Internet
Dokumente
Multimedia
Hypertext
Hypermedia
Dokumentmodelle
© Martin Klarner, Informatik 8
Internet
•
•
•
Multimedia
Vernetzung verschiedener Rechner
Protokollhierarchie zur Übertragung von Information
Prinzipien
– Dezentralität
– Datenpakete
– Routing
•
Zwei konträre Betrachtungsweisen
1. Web ist einer von vielen Internetdiensten
2. Internet ist das Trägermedium für das Web
© Martin Klarner, Informatik 8
• Verbindung verschiedener Medientypen, um Daten
zu repräsentieren
z.B. Texte, Bilder (bzw. Grafiken), Töne (Musik,
Sprache und Geräusche) und Video
• Zeitinvariante/zeitvariante Medientypen
• Rechnergestützte und integrierte Verwaltung
• Medien synchronisierbar
• Meist ein Trägermedium
VORL 1/Folie 3
© Martin Klarner, Informatik 8
Was ist Hypertext?
VORL 1/Folie 4
Hypermedia
• „… a body of written or pictorial material
interconnected in a complex way that it could not be
conveniently represented on paper …“
(NELSON, 1965)
• „a database system which provides a totally different
and unique method of accessing information“
(NELSON, 1990)
• Netzwerk aus Knoten (nodes, concepts) und
Verbindungen (relationships) (RAO/TUROFF,1990)
• „nichtlineare Repräsentation von Wissen” (KUHLEN)
© Martin Klarner, Informatik 8
VORL 1/Folie 2
VORL 1/Folie 5
• Kombination aus
– Multimedia
und
– Hypertext
• Hypertext
– Auflösung der sequentiellen Ordnung von
Dokumenten, Nichtlinearität
– Modellierung der Bestandteile
• Knoten
• Links
© Martin Klarner, Informatik 8
VORL 1/Folie 6
1
Knoten
Links
(auch: Referenzen)
(auch: Informationseinheiten)
• Verbinden Knoten oder Informationseinheiten
• Repräsentation einzelner Dokumente/Dokumentteile
• Daten/Informationen sind in Knoten abgelegt
• Können typisiert sein
(z.B. Zusammenfassung, Detail, Aufgabe, ...)
• Enthalten z.B. Text, Grafik, Audio, Video, Programme
–
–
–
–
Ursprung: Referenzknoten
Ziel: Referentenknoten
Ursprung und Ziel werden auch als Anker bezeichnet
Ebenfalls möglich: Bi-, multidirektionale Links
• Unterscheidung
– Intra- vs. Interdokument-Links
– Hierarchische Links
– Referenzielle Links
© Martin Klarner, Informatik 8
VORL 1/Folie 7
Dokumentmodelle
VORL 1/Folie 8
II. Geschichte des WWW
• Inhaltsorientierte Strukturierung von
Dokumenten
• 1945 MEMEX (VANNEVAR BUSH)
• 1961 Paketvermittlung
(LEONARD KLEINROCK)
• 1962 AUGMENT (DOUGLAS ENGELBART)
• 1965 Begriffe Hypertext und Hypermedia
(TED NELSON)
• 1969 ARPANET (mit 4 Knoten)
• 1974 TCP (VINTON CERF, BOB KAHN)
– SGML (ISO-Standard)
– XML (Nachfolge von HTML?)
• Modellierung der Dokumente als …
– Bäume mit zusätzlichen Verweisen
– Objektmodelle (z.B. Grove, DOM)
–…
© Martin Klarner, Informatik 8
© Martin Klarner, Informatik 8
VORL 1/Folie 9
Geschichte des WWW (2)
© Martin Klarner, Informatik 8
VORL 1/Folie 10
Entwicklung des Internet
•
•
•
•
•
•
1981 Xanadu (TED NELSON)
1983 Begriff Internet
1989 Begriff World Wide Web (BERNERS-LEE, CERN)
1993 Mosaic Browser (ANDREESSEN)
1995 Web überholt FTP im Transfervolumen
2000 (September):
Mehr als 20 Mio. Websites, ca. 100 Mio. Hosts
• 2002 (März):
Ca. 40 Millionen Websites, ca. 160 Mio. Hosts
© Martin Klarner, Informatik 8
VORL 1/Folie 11
© Martin Klarner, Informatik 8
VORL 1/Folie 12
2
Entwicklung des WWW
Möglichkeiten von Hypertext
• Verbindung verschiedener Medien
(Text, Grafik, Audio, Video, Programme)
• Nicht-sequentielle Organisation von
Information
• Neue Möglichkeiten der Navigation,
Annotation und Präsentation
• Erzeugung von großen, komplexen, stark
vernetzten Informationseinheiten
© Martin Klarner, Informatik 8
VORL 1/Folie 13
© Martin Klarner, Informatik 8
Bestandteile eines klassischen
Hypertext-Systems
•
•
•
•
•
•
Beschreibungssprache
Graphisches Benutzer-Interface (GUI)
Erstellungswerkzeug (Authoring Tool)
Werkzeug zum Information Retrieval
Hypermedia Engine
Speichersystem
(nach NELSON)
© Martin Klarner, Informatik 8
Verschiedene Hypertextmodelle
• Hypertext Abstract Machine (HAM)
(CAMPBELL/GOODMAN 1988)
• Dexter Model (1990)
– Vergleich verschiedener Modelle
– Integration und Standardisierung
• Hypermedia Design Model (HDM)
(GARZOTTO 1991)
• HyTime: Modellierung von Hypermedia und
Zeitabhängigkeiten (ISO 10744, 1994)
• ...
VORL 1/Folie 15
© Martin Klarner, Informatik 8
Ideen und Ziele des WWW
• Lokalisierung von Information
(uniforme Adressierungsmethode)
• Standard-Benutzungsschnittstelle
• Integration verschiedener Plattformen
• Integration externer Informationsquellen
(z.B. Datenbanken)
• Unterstützung von Transaktionen als Grundlage für
interaktive Anwendungen (Client/Server)
(nach BERNERS-LEE)
© Martin Klarner, Informatik 8
VORL 1/Folie 17
VORL 1/Folie 14
VORL 1/Folie 16
Erfolgsfaktoren des WWW
•
•
•
•
•
Verbindung von Netzwerktechnologie und Hypertext
Einfachheit
Standardisierung der Protokolle
Abstraktion von Maschinen und Werkzeugen
Komfortable Schnittstelle: Browser
(Mosaic, MARC ANDREESSEN)
• CERN als Experimentierumgebung
– Inhalte
– Verteiltheit
© Martin Klarner, Informatik 8
VORL 1/Folie 18
3
Entwicklung zum WWW
•
•
III.1. Übertragung
Vorgeschlagen von TIM BERNERS-LEE, CERN (Genf)
Kombination verschiedener Konzepte:
Hypertext, Netzwerke, Schnittstellen, Dezentralität
•
Basiert auf einfachen Protokollen bzw.
Spezifikationen (die drei „Säulen des WWW“):
1. HTTP (HyperText Transfer Protocol) zur Übertragung
2. URI (Universal Resource Identifier) zur Adressierung
3. HTML (HyperText Markup Language) für die Inhalte
•
•
•
•
•
•
Keine Spezifikation von Werkzeugen wie Browser,
HT-Engine, Editor (Inhaltsauszeichnung)
© Martin Klarner, Informatik 8
VORL 1/Folie 19
© Martin Klarner, Informatik 8
(A)DSL
•
•
•
•
Ethernet
(A)DSL
IP (Internet Protocol)
TCP (Transmission Control Protocol)
HTTP (HyperText Transfer Protocol)
IP
(Asymmetric) Digital Subscriber Line:
Upstream vs. downstream
Wie ISDN digitaler Dienst über herkömmliche
Kupferkabel
Modulationscodierung für höhere
Übertragungsgeschwindigkeit
Marktdurchdringung
1. Asien (Südkorea!)
2. Nordamerika (USA)
3. Westeuropa (Deutschland)
© Martin Klarner, Informatik 8
VORL 1/Folie 21
Protokolle um IP
•
•
•
•
Verbindung von Subnetzen
HW- oder SW-Lösungen möglich
Statisches vs. dynamisches Routing
Adressformat
– 32-Bit-Nummer, aufgeteilt in 4 Bytes
– Subnetz-Maske, unterteilt in 3 Klassen
• Class A: 126 Netze, 16777214 Hosts/Netz
• Class B: 16384 Netze, 65534 Hosts/Netz
(Uni ER 131.188.xxx.xxx)
• Class C: 2097151 Netze, 254 Hosts/Netz
(131.188.48 Haberstraße ER)
© Martin Klarner, Informatik 8
VORL 1/Folie 22
TCP
• SLIP (Serial Line Internet Protocol):
Serielle Dial-up-Verbindung
• CSLIP (Compressed Serial Line Internet
Protocol):
Komprimierte serielle Dial-up-Verbindung
• PPP (Point-to-point Protocol):
Serielle peer-to-peer-Verbindung, Alternative
zu SLIP/CSLIP
© Martin Klarner, Informatik 8
VORL 1/Folie 20
VORL 1/Folie 23
• Verbindungsorientiert (Handshaking)
• Ermöglicht Packet-Switching (Verschicken
von Paketen auf unterschiedlichen Wegen)
• Nicht echtzeitorientiert (Overhead!)
⇒ zuverlässig, aber langsam und redundant
© Martin Klarner, Informatik 8
VORL 1/Folie 24
4
Hypertext Transfer Protocol (HTTP)
Protokolle um TCP
• Ziele
• UDP (User Datagram Protocol)
– Verbindungslos
– Keine Bestätigung (z. B. durch Handshaking)
– Keine Pakete
⇒ Besonders für Streams geeignet
• ARP (Address Resolution Protocol):
Zuordnung Ethernet → IP
• ICMP (Internet Control Message Protocol):
Status- und Fehlerinformationen (ping)
© Martin Klarner, Informatik 8
VORL 1/Folie 25
HTTP: Funktionsweise
Proxy: clientseitig,
interpretiert Anfrage,
Caching, Firewall
Request
Client
Gateway: serverseitig,
Firewall, Zugriff auf
Nicht-HTTP-Server
Response
– Schnell implementierbar, wenig Last (light)
– Hoher Durchsatz (fast)
• Eigenschaften
–
–
–
–
–
Lesbarkeit: ASCII-codiert
Basis: TCP/IP
Zustandslosigkeit
Idempotente Methoden
Request-Reply-Protokoll
© Martin Klarner, Informatik 8
VORL 1/Folie 26
HTTP-Message
Server
Proxy
Gateway
Tunnel
• Anfragen/Antworten bestehen aus
– Request-Line (enthält die Anfrage-Methode)
oder
– Respond-Line (HTTP-Version, Status, Statusbeschreibung)
• Header (enthält Information zu Anfrage, Antwort oder Entity)
• Body (Entity – enthält übertragene Information)
Tunnel: Mittlerprogramm,
blinde Weiterleitung, keine Interpretation
© Martin Klarner, Informatik 8
VORL 1/Folie 27
HTTP: Beispiel
VORL 1/Folie 28
HTTP: Anfrage-Methoden
telnet www8.informatik.uni-erlangen.de 80
Trying 131.188.38.1...Connected to faui80.informatik.unierlangen.de.
Escape character is '^]'.
GET / HTTP/1.0
HTTP/1.1 200 OK
Date: Mon, 13 Nov 2000 15:18:45 GMT
Server: Apache/1.3.9 (Unix)
Last-Modified: Tue, 26 Sep 2000 16:38:21 GMT
ETag: "1bab25-111c-39d0d0fd"
Accept-Ranges: bytes
Content-Length: 4380
Connection: close
Content-Type: text/html
<html><head><header><title>Artificial
Intelligence</title><Base href="http://www8.informatik.unierlangen.de/IMMD8/">....
© Martin Klarner, Informatik 8
© Martin Klarner, Informatik 8
VORL 1/Folie 29
• GET: Seitenabruf
• HEAD: Metadatenabruf
• POST: Übermittlung von Daten an einer Entity auf
Server, z.B. Parameter
• PUT: Übermittlung von Daten, Erzeugung einer
neuen Entity
• TRACE: Liefert Anfrage und Transportweg
• ...
© Martin Klarner, Informatik 8
VORL 1/Folie 30
5
HTTP: Response Codes
HTTP-Generationen
• HTTP 0.9
• Provisorisch: 1xx: (informational)
– Nur GET-Methode implementiert
– Nur HTML als Entity-Format
(101 Switching protocol, …)
• Erfolgreich:
2xx: (successful)
• HTTP 1.0
(200 OK, 201 Created, …)
• Umleitung:
–
–
–
–
–
3xx. (redirection)
(301 Moved permanently, …)
• Client-Fehler: 4xx (client error)
(403 Unauthorized, 404 Not found, …)
• Server-Fehler: 5xx (server error)
Einfache Authentifizierung
Weitere Methoden (z.B. POST, PUT)
Unterstützung von MIME-Types
Bedingte Anfragen
Fehlercodes
(500 Internal, 501 Not Implemented, …)
© Martin Klarner, Informatik 8
VORL 1/Folie 31
© Martin Klarner, Informatik 8
HTTP-Generationen (2): HTTP 1.1
•
•
•
•
•
•
•
Persistente Verbindungen
Caching
Validierung
Erweiterbarkeit um Header-Felder
Aufteilung von Nachrichten
Content Negotiation
Verbindung mit SSL (Secure Sockets Layer): HTTPS
Cookies
• HTTP zustandsloses Protokoll
• Problem: Bei gewissen Anwendungen (z.B.
Warenkorb, Benutzerprofile)
Zustandsverwaltung notwendig
• Eine Lösung: Cookies
– Werden beim Client gespeichert und hin- und
hergeschickt
(spezielle Methoden: SET-COOKIE, COOKIE)
– Entstehen einer Session
– Verarbeitung des Cookies am Server
⇒ Sehr komplex, oft nur zum Teil implementiert
© Martin Klarner, Informatik 8
VORL 1/Folie 33
© Martin Klarner, Informatik 8
Entwicklung
VORL 1/Folie 34
III.2. Adressierung
• Zunehmende Netzlast
⇒ Datenkompression
• 50 % aller Anfragen gehen auf 1 % der Seiten
⇒ Nutzung von Caching-Strategien
• Häufige, aber minimale Änderungen
⇒ Delta-Transfer
• Einsparung von IP-Adressen durch n:1-Zuordnung
mit Unterscheidung: URL→IP-Adresse
⇒ Auflösung über Header: Host
© Martin Klarner, Informatik 8
VORL 1/Folie 32
VORL 1/Folie 35
•
Vorgaben
–
–
–
–
–
–
•
Globale Gültigkeit
Identifizierbarkeit von Ressourcen
Erweiterbarkeit
Vollständigkeit
Lesbarkeit
Unabhängigkeit von Anwendung
Benutzung im WWW
1. Direkt
2. Über Links in Dokumenten
3. Generierte Anfragen
© Martin Klarner, Informatik 8
VORL 1/Folie 36
6
URI – URN - URL
URL: Uniform Resource Locator
•
URI
URL
URN
URI: Uniform Resource Identifier
URL: Uniform Resource Locator
URN: Uniform Resource Name
Dimensionen der Uniformität
• Vereinheitlichung von Syntax und Semantik (?)
• Erweiterbarkeit
• Verschiedene Anwendungsgebiete
URL besteht aus …
1. Protokollname
2. Host (Domain-Name)
1.
2.
3.
4.
Hostname
[nth-Level-Domain]
Second-Level-Domain
Top-Level-Domain
Auflösung mit DNS
(Domain Name Service) und
jeweiligem Server
3. Pfad
•
•
Beispiel: http://www.fau.de/docs/FAUWWW/index.html
Zusätzlich möglich:
Benutzername, Passwort, Portnummer (nach Doppelpunkt)
© Martin Klarner, Informatik 8
VORL 1/Folie 37
© Martin Klarner, Informatik 8
URN: Uniform Resource Name
•
•
•
•
•
•
Global eindeutig
Skalierbar, erweiterbar
Vereinheitlichte Namensgebung
Weitere Abstraktionsebene ⇒ unabhängig vom Ort
Persistent
Unabhängig von Namensräumen
• Eindeutiger Auflösungsmechanismus notwendig!
• Entwicklung gerade abgeschlossen
© Martin Klarner, Informatik 8
Client
NID
Adressauflösung
RDS
NID
URL
NSS
URN Resolver
Ressource
Resource Server
<urn> = “urn:“ <NID>“:“<NSS>
• NID: Namespace Identifier
• RDS: Resolver Discovery Service
• NSS: Namespace Specific String
© Martin Klarner, Informatik 8
VORL 1/Folie 40
MIME:
Multipurpose Internet Mail Extensions
• Modellierung schwierig (aktuelle Entwicklungen)
• Vielfalt von bestehenden Formaten
• Einordnung in Dokumentenerstellung, Desktop
Publishing, Dokumentenmanagement, ...
Anforderungen an ein Format
• Ursprünglich: Repräsentations-Protokoll für Emails
• Nachrichten bestehen aus verschiedenen Teilen mit
unterschiedlichen Inhaltstypen
• Nachrichtenteile bestehen aus Header und Body
• Header enthält in standardisierter Form
–
–
–
–
Frei verfügbar
Plattformunabhängig
Standardisiert
Ausdrucksstark
© Martin Klarner, Informatik 8
URN-Auflösung
VORL 1/Folie 39
III.3. Inhalte
–
–
–
–
VORL 1/Folie 38
MIME-Version
Content Type
Content-Transfer-Encoding
...
• Auslesbar: Email-Client → “all headers“
VORL 1/Folie 41
© Martin Klarner, Informatik 8
VORL 1/Folie 42
7
Informationsstrukturen
Dokumente
Lineare Informationsstrukturen:
strikte Führung der Nutzers, einfach
umzusetzen, ausdrucksschwach
Vernetzte Informationsstrukturen:
• Expressiv
• Möglichkeiten zur Modellierung inhaltlicher
Beziehungen und Assoziationen
• Erschwerte Orientierung
• Schwierig umzusetzen
© Martin Klarner, Informatik 8
VORL 1/Folie 43
Markup
© Martin Klarner, Informatik 8
VORL 1/Folie 44
Markup: Text that is added to the data of a document in
order to convey information about it.
– Anweisung zur Formatierung
– Typesetting-Makros
⇒ Prozedurales, darstellungsorientiertes Markup
• Übergang zu semantischem Markup
– Autoren versehen Inhalte mit vereinbarten
(strukturorientierten) Annotationen
– Designer entscheiden über Layout
– Deskriptives Markup
• Markup für Maschinen vs. Markup für Menschen
VORL 1/Folie 45
HTML: Charakteristika
Descriptive Markup: Markup that describes the structure
and other attributes of a document in a non-system-specific
way, independently of any processing that may be
performed on it.
Procedural Markup: Markup consisting of system-specific
data that controls how a document is to be processed.
© Martin Klarner, Informatik 8
VORL 1/Folie 46
HTML: Beispiel
•
•
•
•
•
•
Einfach
Anwendungsübergreifend
Plattformunabhängig
Von Menschen lesbar
Einfache Dokumentauszeichnung
Einfache Möglichkeiten zur Verlinkung der
Dokumente
• Abdeckung der Bedürfnisse zu 95% (?)
• Syntax: SGML
© Martin Klarner, Informatik 8
Aspekte
• Kodierung (Syntax)
• Semantik
• Darstellung
• Speicherung
• Zugriff
• Transport
• Modellierung
Markup: ISO-Definitionen
• Ursprung: Computergestütztes Setzen von
Dokumenten
© Martin Klarner, Informatik 8
Bestandteile
• Inhalt
• Struktur
• Layout
• Metadaten
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Web Site Engineering</title>
</head>
<body bgcolor="#FFFFFF">
......
<h3>Inhalt:</h3>
<ol>
<li><b>Einführung (16.10.2002)</b>
<br> -> Folien
<a href="src/16102002/index.html">HTML</a>
<a href=„src/16102002/slides.pdf">PDF</a></li>
.....
VORL 1/Folie 47
© Martin Klarner, Informatik 8
VORL 1/Folie 48
8
HTML: Geschichte
HTML: Probleme
• 1990 HTML-Urform von TIM-BERNERS-LEE am CERN
• 1993 HTML-Implementierung im Mosaic-Browser
von MARC ANDREESSEN
• 1994 HTML 2.0
• 1997 HTML 3.2: Bei der Veröffentlichung bereits der
Entwicklung hinterher (z.B. Tabellen, Applets,
Fließtext um Bilder), “Browserkrieg“
• Ende 1997 HTML 4.0:
• Keine Erweiterbarkeit - Entstehung
proprietärer Erweiterungen
• Fehlende Ausdruckskraft
• Entwicklung vom inhaltsorientierten zum
darstellungsorientierten Format
• Entwicklung weg von der SGML-Anwendung
– Pseudostandard, partielle Implementierung
– Drei Dokumenttypen: transitional, strict, frameset
© Martin Klarner, Informatik 8
VORL 1/Folie 49
© Martin Klarner, Informatik 8
Allgemeine Probleme bei Inhalten
• Problemfelder
–
–
–
–
Trennung von Inhalt, Layout, Struktur und Programmierung
Kombination: Technologie, Design, Inhalte
Updatehäufigkeit, Komplexität
Von statischen Inhalten zu Applikationen,
dokumentzentrierter vs. software-zentrierter Ansatz
–
–
–
–
–
Programmierung bei Client oder Server
Anbindung von Datenbanken
Content Management
Application Server
....
© Martin Klarner, Informatik 8
Literatur
•
•
•
•
•
• Strategien zur Problemlösung
•
•
•
•
•
VORL 1/Folie 51
VORL 1/Folie 50
Wilde, E. Wildes WWW. Springer Berlin, 1999
Berners-Lee, T. et al. Hypertext Transfer Protocol — HTTP/1.0. Informational
RFC 1945, 1996, http://www.ietf.org/rfc/rfc1945.txt
Fielding, R. et al. Hypertext Transfer Protocol — HTTP/1.1. RFC 2616, 1999,
http://www.ietf.org/rfc/rfc2616.txt
HTTP: Hypertext Transfer Protocol, Ausarbeitung von Tim Furche,
http://www.pms.informatik.uni-muenchen.de/lehre/seminar/htmlmetamorphosen/00ss/ausarbeitungen/HTTP/
Requests for Comments (RFC):
http://www.rfc-editor.org/rfcsearch.html, http://www.cis.ohiostate.edu/hypertext/information/rfc.html
HTTP Header (Viewer) http://www.delorie.com/web/headers.html
W3C: http://www.w3.org/Protocols/
Hobbes‘ Internet Timeline: http://www.zakon.org/robert/internet/timeline/
URN-Report: http://www.dlib.org/dlib/february96/02arms.html
ADSL: http://www.esatclear.ie/~aodhoh/adsl/
© Martin Klarner, Informatik 8
VORL 1/Folie 52
9
Document
Kategorie
Internet
Seitenansichten
61
Dateigröße
135 KB
Tags
1/--Seiten
melden