Die aktuellen Kurse von MultiMediaArt sind nun im MMA-Wiki, und nicht mehr öffentlich zugänglich

Fragenkatalog

Zur Lehrveranstaltung www und multimedia im Sommersemester 2007.

Was ist das Web?

"World Wide Web": Browser als Client, Webserver als Server. Kommunizieren über das Protokoll HTTP. Adressierung der Dokumente über URLs. Aufbau einer URL: Protokoll :// [ user : passwort @ ] domainname oder ip-adresse [ : Port ] irgendwas [ ? parameter ] [ # anker ]

Achtung: Der Teil der URL der vom Server interpretiert wird ist (da meist UNIX-Server) meist case-sensitive: gross- / kleinschreibung wichtig.

Achtung bei Verwendung von Sonderzeichen in Dateinamen: in URLs haben die Zeichen ? und & und = schon eine Bedeutung, müssen also falls Sie im Dateinamen vorkommen escaped werden. in der Schreibweise %CA

https ist http über SSL.

Erfunden am CERN von Tim Berners-Lee. Standardisierung über W3C (World Wide Web Consortium).

Am Web-Server: CGI (z.B. Perl, Python oder beliebige andere sprachen)

Am Client: Flash, Java Applets

HTML und CSS

wie lautetn die HTMl-Tags für: überschrift, link, bild, tabelle.

wie wird CSS in html eingebunden.

Grafik fürs Web

Wie kann man Grafik einbinden? <img src="URL" alt="alternativtext" />

Stärken der verschiedenen Format:

Nicht vergessen: es gilt das Urheberrecht (copyright, quellenangaben) auch wenn es technisch sehr einfach ist grafiken zu klauen!

Dateigröße von Bildern beachten.

Auflösung

Javascript

Java ist nicht Javascript. Viele Unterschiede, z.B. Javascript wenig Datentypen, javascript ist objektorientiert, kenn aber keine Klassen.

Einbindung in HTML mit

<script> ... </script> und in verschiedenen Tags mit Attributen die mit on beginne: <body onLoad="...">

Was kann Javascript? Animationen, Formulare kontrollieren, ...

Navigation

So funktioniert ein Link: <a href="url">urltext und/oder bild</a>

Ordnerstruktur ist nicht gleich Navigations-Struktur!

Baum, Lineare Struktur (Sequenz), Netz (jeder mit jedem)

Vermeiden: Seiten ohne Rücklink, Seiten ohne Navigationssystem.

Was ist ein Breadcrumb-Menu?

Server Side Includes

SSI abekürzt. Ein (altes)Feature des Apache Webserver. Schreibweise: <!--#include file="navigation.html" -->

Der Webserver liest die Seite bevor er sie ausliefert, und ersetzt die SSI-anweisungen.

Am Client merkt man nicht, dass SSI am server verwendet wurde.

Wenn es nicht funktioniert erscheint die Meldung [could not process directive]

<!--#exec cmd="ls -la" -->

<!--#echo env="PATH" -->

Was ist AJAX

Abkürzung für Asynchronous Javascript And XML. Javascript im Browser.

Inhalt einer Webseite verändern ohne die Seite ganz neu zu laden. Über asynchronen HTTP-Request werden Daten vom Server geholt, dazu braucht man das XMLHTTPRequestObject.

Beispiel: Textfeld mit Autocomplete ... beschreibe Ablauf.

AJAX-Anwendungen muss man umfangreich Testen, weil Browser sehr unterschiedlich mit Javascript umgehen.

Nachteil: "Zurück"-Button im Browser funktioniert nicht mehr richtig.

Was ist Web 2.0

Ein Oberbegriff für eine reiche von interaktiven Diensten des WEb, z.B. Wikis, Weblog, etc... Wichtige Eigenschaften: LeserInnen leisten Beitrag. Beispiel: Wikipedia, YouTube, google video,

Begriff von Tim O'Reilly.

Web-Formular und Übertragung per HTTP

Datenübertragung mit Methode GET:

Daten in der URL: http//test.com/programm.cgi?a=10&b=20

Datenübertragung mit POST

Keine Daten in der URL http//test.com/programm.cgi, sondern im HTTP-Body.

Vorteil POST. grössere Datenmengen.

Formular das die Anfrage programm.cgi?a=10&b=20 generiert hat?

<form action="programm.cgi" method="get">

<input name="a" />

<input name="b" />

<input type="submit" />

</form>

Datenaustausch Flash + Webserver

Flash kann HTTP-Request an einen Webserver schicken, mit GET oder POST-Parametern.

Server soll als antwort senden:

1) entweder: in der schreibweise in der auch get-parameter übertragen werden, also

a=20&b=hallo

2) oder: als XML

Cookies

was: eine reine text-datei, die der server an den webbrowser schickt, und der webbrowser speichert

wo: gespeichert im hauptspeicher oder (bei permanenten cookies) auf der platte

wann: server schickt, client speichert und schickt bei jeder weitere anfrage mit

warum: authentifizierung speichern, warenkorb: welche artikel ich ausgesucht habe werden im cookie gespeichert.

wie: mit cgi-programm vom server aus, oder von javascript aus.

achtung: keine passwörter drin speichern, könnte abgehört werden.

Security

http ist abhörbar, das inkludiert auch passwörter.

https ist http on top of ssl.

 

javascript: nicht zur authentisierung geeignet, da der client entscheidet ob javascript ausgeführt wird, und der gesamte code am client lesbar ist.

(alternatvie: .htaccess und authentisierung über HTTP-Protokoll)

 

cross site scripting = Wenn LeserInnen Inhalte in eine Webseite schreiben können: falls die auch <script> reinschreiben können, könne sie böse dinge tun wie z.b. eine andere webseite laden.

SQL-Injection: wichtig wenn man cgi-programme schreibt: aller user-input ist verdächtig. muss genau geprüft werden, bevor man damit z.B. sql-anfragen konstruiert. Beispiel: user-input soll eine id sein. das programm baut daraus "DELETE FROM table WHERE id=.... Böser User gibt ein '3 OR 1=1', das ergiebt in summe "DELETE FROM table WHERE id=3 OR 1=1" --> löscht gesamte Tabelle.