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