Grundlagen der WWW-Nutzung und WWW

Transcription

Grundlagen der WWW-Nutzung und WWW
Grundlagen der WWW-Nutzung und
WWW-Programmierung
Alfred Wassermann
Inhaltsverzeichnis
13 Vorlesung
13.1 Cookies . . . . . . . . . . . . . . . .
13.2 XML . . . . . . . . . . . . . . . . . .
13.3 WAP und WML . . . . . . . . . . .
13.3.1 WML – die Sprache . . . . .
13.3.2 Der Aufbau einer WML-Seite
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
4
6
7
Kapitel 13
Vorlesung
13.1
Cookies
Ein Konzept, das momentan noch unter WWW-Nutzung fällt, ist der Einsatz
von Cookies. Dies sind kurze Informationen, die ein WWW-Server auf dem
Betrachter-Computer hinterlassen kann. Cookies werden üblicherweise mit JavaScript oder mit CGI-Scripts gesetzt. Wie man als Anbieter Cookies setzt,
werden wir in einer der nächsten Veranstaltungen lernen. Obwohl Cookies an
sich vollkommen harmlos und sehr hilfreich sind, sind sie in letzter Zeit in Verruf
gekommen. Cookies können nicht die Festplatte ausspionieren und keine Viren
übertragen.
Wie funktionieren Cookies? Mit einem CGI-Script oder mit JavaScript kann ein
Web-Server eine kurze Infomation auf dem Browser des Betrachter zurücklassen.
Der Browser hält diese Information üblicherweise im Arbeitsspeicher und legt
sie beim Beenden des Browsers in einer Datei ab. Bei Netscape ist dies die Datei
cookies.txt im Verzeichnis des Benutzerprofils.
Ein Cookie besteht aus
• dem Domainnamen des Web-Servers
• dem Namen des Cookies
• dem Inhalt des Cookies
• dem Verfallsdatum
• evtl. weiterer Information.
Nur der Web-Server, der ein Cookie gesetzt hat, kann die gesetzte Information
wieder auslesen. Die Länge der Information ist beschränkt.
Cookies kommen insbesondere bei interaktiven Sitzungen zum Einsatz. Zum
Beispiel wäere die Realisierung eines elektronischen Warenkorbs ohne Cookies
sehr aufwendig.
Die Gefahr bei Cookies liegt darin, daß unter Umständen das Surf-Verhalten
eines Betrachters ausspioniert werden kann. Dies geschieht nicht durch eine einzelne Web-Seite — jeder Web-Server kann ja nur die Cookies auslesen, die er
2
selbst gesetzt hat — sondern z. B. durch Web-Server, die Werbe-Banner verkaufen.
Folgendes Szenario ist denkbar: Eine Firma, die Werbe-Banner für Web-Seiten
kommerziell bereitstellt, hat einen sehr hohen Marktanteil. Somit wird man
beim Surfen immer wieder auf Web-Seiten stoßen, die mit Werbe-Bannern dieser
Firma ausgestattet sind. Beim Anzeigen eines Werbe-Banners, kann die Firma
ein Cookie setzen. Genauso kann die Firma beim Anzeigen eines Werbe-Banners
die bereits von ihr auf anderen Web-Seiten gesetzten Cookies auslesen. Hat die
Firma einen hohen Marktanteil, kann ein aussagekräftiges Benutzerprofil des
Betrachters erstellt werden. Dies kann im harmlosen Fall dazu genutzt werden,
daß die verfügbare Information ausgewertet wird und dem Betrachter gezielt
Werbung, die auf sein Profil passt, angeboten wird. In nicht so harmlosen Fällen
könnte die Firma auch diese Information weiter verkaufen.
Da auf die hilfreichen Eigenschaften der Cookies nur ungern verzichtet wird,
bietet sich nur der Ausweg, daß der Benutzer sich selbst um seine Cookies
kümmert. Zum einen kann der Browser so eingestellt werden, daß der Benutzer
bei der Übertragung von Cookies gefragt wird, ob das Cookie angenommen werden soll. Zum anderen gibt es Programme, siehe http://tucows.uni-erlangen.de/
unter dem Suchbegriff cookie, mit denen Cookies verwaltet werden können und
nicht zuletzt kann die Datei cookies.txt auch von Hand“ bearbeitet werden.
”
13.2
XML
XML (Extensible Markup Language) ist eine vereinfachte Form von SGML. So,
wie HTML mit SGML definiert ist, können mit XML eigene Markup-Sprachen
definiert werden. Die mit XML definierten Markup-Sprachen werden als XMLAnwendungen bezeichnet.
HTML hat sich in den letzten Jahren als Seitenbeschreibungssprache für Hypertext durchgesetzt. Wir erinnern uns: Mit Hilfe der HTML-Befehle kann der
logische Aufbau der Seite beschrieben werden. Nun geht man einen Schritt weiter. Während es in HTML nicht möglich ist, den Befehlssatz zu erweitern, dient
XML als Meta-Sprache“, mit der eigene Sprachen für verschiedenste Anwen”
dungen definiert werden können. Dabei wird nicht nur an erweiterte oder spezielle Sprachen zur Anzeige von Dokumenten gedacht, sondern auch an Sprachen,
die mit Computer-Programmen ausgewertet werden können. Zum Beispiel kann
man sich eine Sprache vorstellen, in der Rechnungen und Quittungen — also
Geschäftsabläufe — ausgetauscht werden. Dabei soll die Rechnung aber nicht
nur auf dem Bildschirm ausgegeben werden, sondern auch gleich von Buchhaltungsprogrammen weiterverarbeitet werden. Mit HTML-Befehlen wie <p>
oder <h1> wird man dabei nicht glücklich werden. Es wird eine neue Sprache benötigt, die Befehle wie <name>, <sum> und <tax> kennt. Für Geschäftsabläufe wird die Sprache XML/EDI (Electronic Data Interchange) entwickelt,
siehe http://www.xmledi.com/
Weitere Anwendungen sind spezielle Markup-Sprachen für Spezialgebiete wie
MathML für Mathematik und CML für Chemie. Dabei sollen im Beispiel MathML
nicht nur komplexe Formeln korrekt am Bildschirm angezeigt werden können,
sondern die MathML-Dateien sollen direkt von Mathematik-Programmen aus”
gerechnet“ werden.
Damit Programme XML-Anwendungen auswerten können, muß die Sprache
3
strenger definiert werden. Für Programme, die z.B. Geschäftsrechnungen auswerten, ist es nicht wie bei HTML möglich, großzügig über Sprachungenauigkeiten hinwegzusehen.
Daher gibt es einige Regeln in XML, die für HTML nicht gelten:
• Die Groß- und Kleinschreibung der Tags muß beachtet werden.
• Jeder Befehl besteht aus Anfangs- und End-Tag. Tags, für die es keinen
logischen End-Tag gibt (wie etwa neue Zeile“) werden entweder durch
”
<br /> oder durch <br></br> angegeben.
• Die Werte von Attributen werden in Anführungszeichen angegeben (entweder " oder ’).
• Die Schachtelung von Tags muß korrekt aufgelöst werden. <p>...<i> muß
durch </i>...</p> beendet werden. </p>...</i> wäre falsch.
Die Bedeutung der Tags einer XML-Anwendung wird in der zugehörigen DTD
(Document Type Definition) festgelegt. Die Angabe von
<!doctype html public "-//w3c//dtd html 4.0//en">
gibt an, daß die folgende Datei HTML enthält und diese HTML-Befehle sind
in //w3c//dtd festgelegt. Die Verarbeitung von XML-Anwendungen erfolgt mit
eigenen Programmen, die XML-Parser verwenden. Ein XML-Parser zerlegt eine
XML-Datei in einzelne Komponenten und gibt an das eigentlich Anwendungsprogramm die Struktur der Datei im DOM-Format (Document Object Model)
weiter: Die Struktur der Datei wird in eine Sammlung von Java-Objekten umgewandelt. Die Anzeige der Elemente wird mit XSL (Extensible Style Language)
und CSS festgelegt.
Beispiele von XML-Anwendungen sind
• MathML
• XML/EDI
• SVG Scalable Vector Graphics.
• XHTML HTML, als XML-Anwendung definiert.
• WML Wireless Markup Language
Ausführliche Information zu XML findet sich unter
• http://www.w3.org/XML/ Homepage des W3-Consortiums.
• http://www.boku.ac.at/htmleinf Deutschsprachige Einführung von Hubert Partl.
13.3
WAP und WML
Stellt man die Information auf einem Web-Server nicht nur per HTTP/HTML
zur Verfügung, sondern auch mit WAP/WML, so kann diese mit modernen
Mobil-Telefonen, PDAs (personal digital assistent), WebPads oder ähnlichen
4
kleinen Geräten drahtlos abgerufen werden. WAP steht für Wireless Application Protocol und entspricht in etwa HTTP im World Wide Web. Die Markup
Language für Mobil-Geräte basiert auf XML und heißt WML (Wireless Markup
Languager).
Normalerweise wird WAP zwischen dem Mobil-Telefon und einem WAP-Application
Server verwendet.
Es kann aber auch über ein WAP-Gateway per HTTP auf das WWW zugegriffen
werden. Deshalb können auf dem herkömmlichen WWW-Server WML-Dateien
bereitgestellt werden.
5
Momentan sind die Übertragungsraten auf Mobil-Telefone noch sehr beschränkt.
Ab 2003 ist ein neuer Standard UMTS (Universal Mobile Telephone System)
geplant, mit dem die Übertragungsraten der Mobil-Telefone die heutigen ISDNÜbertragungsraten weit übertreffen sollen. Deswegen ist das sehr sparsame Protokoll/Format WAP/WML evtl. nur eine Übergangslösung.
13.3.1
WML – die Sprache
Wer dachte, bei HTML herrscht ein Wirrwarr durch die verschiedenen BrowserVarianten und -Standards, der wird beim momentanen Stand von WML schnell
verzweifeln. Nicht nur, daß die unterschiedlichen Bildschirmgrößen der unterschiedlichen Geräte für Verwirrung sorgen, auch die jeweiligen Implementierungen der Browser der einzelnen Hersteller halten sich sehr wenig an Standards.
Wir wollen nun ein klein wenig in die Sprache WML einsteigen. Ein paar Richtlinien:
• Alle WML-Befehle werden klein geschrieben.
• Wenn die Argumente Sonderzeichen enthalten, müssen sie in Anführungszeichen eingeschlossen werden.
• Jeder WML-Befehl besteht aus Anfangs- und End-Tag.
• Manche Befehle treten einzeln auf, sie müssen in der Form <br /> verwendet werden.
• Befehle müssen korrekt ineinander geschachtelt werden.
6
13.3.2
Der Aufbau einer WML-Seite
Eine WML-Seite sollte folgendes Grundgerüst beinhalten:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>...</p>
</card>
<card>
<p>...</p>
</card>
</wml>
Eine komplette WML-Datei kann eine oder mehrere Karten“ enthalten. Eine
”
Karte ist eine Einheit, die jeweils am Bildschirm angezeigt wird.
Text kann nur innerhalb von Absätzen <p>...</p> gesetzt werden. Mit align=left,
align=right und align=center wird die Ausrichtung bestimmt. Ein Zeilenumbruch wird mit <br /> erwirkt. Folgende Text-Auszeichnungen stehen zur
Verfügung:
• <b>...</b>: Fettgedruckt
• <i>...</i>: kursiv
• <u>...</u>: unterstrichen
• <big>...</big>: größere Schrift
• <small>...</small>: kleinere Schrift
Querverweise werden mit dem Befehl
<a>Text <go href="xxx.wml" /></a>
realisiert. Bei Nokia lautet der befehl <anchor> anstatt <a>. Man kann auch
zwischen den einzelnen Karten einer Datei hin- und herspringen:
<card id="c1">
<p>
<a>weiter <go href="c2" /></a>
</p>
</card>
<card id="c1">
<p>
<a>zurueck <go href="c1" /></a>
</p>
</card>
Bilder (nur vom Format wbmp) können mit
<img src="xxx.wbmp" />
eingebunden werden.
7
Literaturverzeichnis
[1] Born, Günter: Referenzhandbuch Dateiformate, Addison-Wesley (1996).
[2] Bruns, B., Gajewski, P.: Multimediales Lernen im Netz, Springer-Verlag
(1999).
[3] Bush, Vannevar: As we may think, in The Atlantic Monthly, July 1945,
siehe http://www.w3.org/History/1945/vbush/
[4] Haaß, Wolf-Dieter: Handbuch der Kommunikationsnetze, Springer-Verlag
(1997).
[5] Hauben,
Michael:
History
of
ARPANET,
http://www.dei.isep.ipp.pt/docs/arpa-Contents.html
siehe
[6] Klau, Peter: Das Internet, Thomson Publishing (1995).
[7] Krol, Ed: Die Welt des Internet, O’Reilly-Verlag (1995).
[8] Levine, John, Young, Margaret: More Internet für Dummies, Thomson Publishing (1996).
[9] Stefan
Münz:
SELFHTML,
http://www.teamone.de/selfhtml
erhältlich
bei
[10] Rost, Martin, Schack, Michael (Hrsg.): Der Internet Praktiker (1995),
Heise-Verlag.
[11] Schulmeister, Rolf: Grundlagen hypermedialer Lernsysteme, AddisonWesley (1996).
8