
Einführung
WWW ist ein verteilter, Hypertext-basierter Informationsdienst im Internet.
Ursprünglich enwickelt im CERN in Genf
um 1990,
hat er eine rasante Verbreitung erfahren. Heute bieten weltweit
Universitäten, Firmen, Verlage, Institutionen und Privatpersonen
Informationen im
World Wide Web an. In den zahlreichen Presseveröffentlichungen
zum Thema Information-Highways bzw. Datenautobahnen
geht es - wenn es konkret wird - um WWW, das dann oft mit dem
Internet gleichgesetzt wird.
Einige Gründe für den immensen Erfolg von WWW:
- Einfache Bedienung besonders bei den graphischen
Benutzeroberflächen (Programme wie zunächst Mosaic
und später Netscape): mit einem Mausklick steht die ganze
Welt (der Informationen im Internet) offen.
- Integration auch der anderen Informationsdienste im Internet
wie anonymous File Transfer oder Gopher unter einer
einheitlichen Oberfläche.
- Die einfache Einbettung von Multimedia-Dokumenten (Bildern,
Video-Sequenzen, Sound-Dateien etc.), bei Bildern und
Graphiken unmittelbar in den Text-Dokumenten.
(Interessant insbesondere für kommerzielle Informationsanbieter.)
- (Aus meiner persönlichen, technisch geprägten Sicht:)
das bessere technische Konzept (als z.B. bei Gopher).
Technischer Hintergrund
Client und Server beim WWW
- Client: genutzt von Informations-KosumentInnen; Client-Programme werden häufig auch Browser genannt.
- Server: betrieben von Informations-AnbieterInnen; stellt auf Anforderung von Clients ein Dokument bereit.
- Client-Server-Kommunikation geschieht über ein
Anwendungs-spezifisches Protokoll.
- WWW-Clients sprechen i.d.R. verschiedene Protokolle: außer dem
WWW-eigenen Protokoll HTTP z.B.
FTP, Gopher,
NNTP (News),
evtl. SMTP
(Mail); dies ist die technische Seite der Integration aller populären
Informationsdienste im Internet unter einer einheitlichen
Benutzeroberfläche.
Exkurs: Client und Server unter Verwendung eines Proxy-Servers
Ein Proxy-Server erledigt im Auftrag von Clients die Verbindungen mit den
Original-Servern und liefert deren Resultate zurück. Im World Wide Web
spricht der Client mit dem Proxy-Server HTTP, der Proxy (als Client!) u.U.
auch andere Protokolle wie Gopher und FTP.
Anwendungszwecke eines Proxy:
- Sicherheitsgründe: Der Proxy, aber nicht der Client hat direkte Verbindung
zum Internet (Client hinter einer Firewall).
- Performance-Gründe: Der Proxy kann einen Cache auf einer lokalen Platte
halten und ggf. Anforderungen lokal befriedigen.
Hypertext - Hypermedia
- Hypertext
- Text, der Verweise auf andere Texte enthält, die - mit einer geeigneten graphischen Benutzeroberfläche präsentiert - durch z.B. einfaches Anklicken eines hervorgehobenen Textteils angewählt werden können.
Beispiele: Microsoft-Hilfe, Apple's Hypercard.
- Hypermedia
- Multimediale Dokumente (Bilder, Sound, Animationen etc.)
mit Verweisen auf andere.
- Anker (anchor)/Hyperlinks
- Verweise (links) auf andere Dokumente; bei WWW
können Nicht-Text-Dokumente nur Ziel von Ankern sein.
Hypertext Transport Protocol (HTTP)
- HTTP ist das WWW-eigene Protokoll in der Familie der Internet-Protokolle.
- Typischer Kommunikationsablauf in HTTP (z.B. für jede einzelne
Dokumentenanforderung):
- Ein HTTP-Client baut eine Verbindung zum HTTP-Server über dessen
TCP-Port auf, i.d.R. Port-Nummer 80.
- Der Client sendet Request an den Server.
- Der HTTP-Server sendet Response als Antwort, die u.U.
ein gewünschtes Dokument enthält.
- Der Server baut die Verbindung ab.
- Request und Response haben den Aufbau:
Request/Response CRLF Header CRLF CRLF Data
- Request (erste Zeile) besteht aus:
Method URL ProtocolVersion
- Method
- Die "Methoden" sind u.a. GET, HEAD, POST.
- URL
- Hier meist ein partieller Uniform Resource Locator (URL), bestehend aus absolutem Pfad- und Dateinamen.
(Vollständige URLs mit Protokoll und Hostnamen treten auf zwischen Client und
Proxy-Server.)
- Protocol Version
- HTTP/1.0
- Response (erste Zeile) besteht aus:
ProtocolVersion Statuscode Reason
- Statuscode
- Dreistellige Dezimalzahl, die Auskunft über Erfolg bzw. Fehler gibt; siehe
Spezifikation.
- Reason
- Erläuternder Text - eine Zeile.
- Daten - und auch Header - können - je nach Request bzw. Response -
leer sein; z.B. enthält ein GET-Request keine Daten.
- Header
sind wie Mail-Header nach RFC822 aufgebaut und enthalten insbesondere MIME-Header-Felder wie Content-Type: und Content-Length:
sowie HTTP-eigene Felder wie Last-Modified:.
Den Protokollablauf kann man per Telnet ausprobieren.
HTTP ist im Grunde ein reines File-Server-Protokoll unabhängig von der speziellen Anwendung im WWW; insbesondere sind die Beziehungen zwischen den von einem Server bereitgestellten Dokumenten und allgemein die Anker im Protokoll nicht sichtbar.
Ausblick: Neuere Entwicklungen beim HTTP-Protokoll
- HTTP/1.1
- Erweiterung bei den Methoden, den Header-Zeilen und dem
Content-Transfer-Encoding; spezielle Vorkehrungen und Klarstellungen bezüglich
der Verwendung des Protokolls bei Proxy-Caching-Servern; Verbindung kann gehalten werden
für weitere Übertragungen.
- HTTP-NG
- HTTP Next Generation - ermöglicht u.a. parallele Übertragung mehrerer
Dokumente in einer TCP-Verbindung, nicht mehr wie bisher: eigene
TCP-Verbindung für jedes Inline-Image in einem Dokument.
Die Adressierung von Dokumenten und die Verweise zwischen Dokumenten im
WWW werden über die sogenannten
Uniform Resource Locator (URL) realisiert.
Vollständige URLs bestehen aus der Angabe des
Partiellen URLs fehlen Bestandteile von links her, die der Client von den Angaben des aktuellen Dokumentes ergänzt. Z.B. wird im Kontext von
http://www.uni-duesseldorf.de/~cappel/WebKurs/Einfuehrung.html
Welcome.html ergänzt zu
http://www.uni-duesseldorf.de/~cappel/WebKurs/Welcome.html.
Beispiele für URLs:
http://www.uni-duesseldorf.de/WWW/URZ/RZ/Sose95termine.html
gopher://gopher.rz.uni-duesseldorf.de/1
ftp://ftp.uni-duesseldorf.de/pub/doc/rfc/RFC800-899/rfc822.txt
telnet://opac.ub.uni-duesseldorf.de
news:hhu.forum
news:kottwitz.58.00064A34@uni-duesseldorf.de
mailto:cappel@rz.uni-duesseldorf.de
MIME-Typen von WWW-Dokumenten
Für die Beschreibung der Typen seiner Dokumente benutzt WWW einen etablierten Internet-Standard: MIME - Multipurpose Internet Mail Extensions.
MIME-Typen
werden angegeben in der Form: type/subtype,
so z.B. zu finden als Wert hinter dem Header-Feld Content-Type:.
Beispiele für häufig vorkommende MIME-Typen:
- text/plain
- Einfacher ASCII-Text.
- text/html
- Das WWW-eigene Format.
- image/gif, image/jpeg, image/pict
- Bilder im GIF-, JPEG- bzw. PICT-Format.
- video/mpeg, video/quicktime
- Video-Sequenzen im MPEG- bzw.
Quicktime-Format.
- audio/basic, audio/x-wav, audio/aiff, audio/x-mpeg
- Diverse
Audio-Formate für Sound-Dateien unterschiedlicher Qualität
(Telefon- bis CD-Qualität).
- application/postscript
- Postscript-Dateien.
- application/x-rtf
- Rich Text Format von Word und anderen Textverarbeitungsprogrammen.
- application/x-dvi
- DVI-Files von TeX.
Hypertext Markup Language (HTML)
Die Hypertext Markup Language (HTML)
ist die WWW-eigene Dokumentensprache, definiert als spezielle Ausprägung der Structured Generalized Markup Language (SGML). HTML enthält Sprachmittel zur logischen Strukturierung von Dokumenten ähnlich wie LaTeX und Sprachmittel für die Angabe von Ankern, den Hyperlinks auf andere Dokumente, sowie für die Einbettung von Bildern (Inline-Images).
HTML gibt eine logische Strukturierung von Dokumenten vor; die Umsetzung in ein konkretes Layout ist Sache der WWW-Browser und kann mit unterschiedlicher Software und in unterschiedlicher Umgebung gänzlich anders aussehen.
(Näheres folgt später.)
HTTP-Server-Software
- CERN-httpd
-
Mächtiger Server mit u.a. vielfachen Abbildungsregeln von Pfaden in URLs auf reale Dateinamen, individuellem Zugriffsschutz auf Dokumente, Skript-Fähigkeit
über das Common Gateway Inerface (CGI); verfügbar als Source-Code für diverse Unix-Systeme und VMS. Spezielle Eigenschaft: Kann als Proxy- und Caching-Server eingesetzt werden wie bei uns.
- NCSA-httpd
-
Mächtiger Server mit u.a. vielfachen Abbildungsregeln von Pfaden in URLs auf reale Dateinamen, individuellem Zugriffsschutz auf Dokumente, Skript-Fähigkeit
über das Common Gateway Inerface (CGI);
verfügbar als Source-Code für diverse Unix-Systeme.
- Apache
- Freie Weiterentwicklung des
NCSA-Servers, mittlerweile die Nummer 1 im Einsatz. Unter dem Namen Appache-SSL gibt
es eine Version mit dem gesicherten Protokoll HTTPS (die einzige frei und ohne
Exportrestriktionen erhältliche).
- Netsite
- Die kommerziellen Server von Netscape:
Netscape Communications Server, Netscape Commerce Server und Netscape Proxy Server.
Information über weitere Server-Software finden Sie im
Original-Dokument.
Einen Test der Web-Server für Unix
enthält Heft 11/95 der Zeitschrift iX.
Web Servers Feature Chart
WWW-Client-Software
Vollständige Übersicht siehe
hier.
Die goldene Regel, die ich gelernt habe, für alle, die Dokumente für WWW (in HTML) erstellen: Sehen Sie sich Ihre Dokumente nicht nur mit einem Browser an! Optimieren Sie sie nicht z.B. für z.B. Netscape,
u.U. noch mit einer bestimmten Fenster- und Font-Größe! Testen Sie mit so vielen verschiedenen Browsern, wie Ihnen zur Vefügung stehen, und auch mit mindestens einem Linemode-Browser wie Lynx!
(Dies ist der Grund, warum dieser Abschnitt hierhin gehört.)
Diese Regel ist heute durchaus umstritten - viele Seiten werden für einen der
beiden gängigsten Browser optimiert entwickelt: Netscape
(an 1. Stelle) oder Microsoft Internet Explorer (an 2. Stelle).
Bernd Cappel, 24.4.1995
Erstellt für eine Lehrveranstaltung des
URZ der HHU im
Sommersemester 1995
Zuletzt geändert: 23.10.1996