Tips und Tricks für WWW-Seiten
[Dateikopf]
[Bildkomprimierung]
[Frames]
[Macros]
[Counter]
Der Dateikopf der Seite beginnt mit <head> und endet mit
</head> und sollte unbedingt eine volle Spezifikation der Seite
enthalten.
Beispiel
<html>
<head>
<title> Fachhochschule Hamburg, Homepage</title>
<meta http-equiv="content-type" content="text/html;CHARSET="iso8859-1">
<meta http-equiv="expires" content="0">
<meta http-equiv="note"
content="Fachhochschule Hamburg. This page is the only entry point
for FH Hamburg with warranty. The URLs of other pages may change if
necessary.">
<meta name="Author"
content="Jobst-Hartmut Lueddecke">
<meta name="keywords"
content="Suchbegriffe1, Suchbegriff2, Suchbegriff3">
<meta name="description"
content="kurze Inhaltsangabe der Seite">
<meta name="robots"
content="follow">
<base href="http://www.haw-hamburg.de/index.html">
</head>
- title
- Titelzeile der Seite. Dieser Eintrag muß eindeutig sein,
denn er wird an verschiedenen Stellen zur Identifikation der Seite
verwendet.
- meta
- dies sind Angaben zu Art und Inhalt der Informationen, die zusätzlich
übertragen, aber nicht innerhalb der Seite angezeigt werden. Hier kann
man Besonderheiten oder Stichworte zu der Seite unterbringen. Diese Angaben
werden z.B. von Suchmaschinen ausgewertet. Der Meta-Eintrag besteht aus zwei
Teilen:
- http-equiv
- Schlüsselwort, z.B. content-type und expires
wird von Netscape ab Version 4.0 ausgewertet.
- content
- Inhalt
oder
- name
- Schlüsselwort, z.B. author, keywords und
description wird von Altavista ausgewertet.
- content
- Inhalt
- base href
- hier kann innerhalb der Seite die internet-weit eindeutige URL der Seite
abgelegt werden. Ein WWW-Browser kann dadurch im Fehlerfall besser wieder
aufsetzen bzw. auf verknüpfte oder referenzierte Dateien zugreifen.
Das Beispiel bewirkt z.B. folgenden Eintrag
content-type: text/html
Author: Jobst-Hartmut Lueddecke
keywords: Fachhochschule Hamburg, Homepage
note: Fachhochschule Hamburg. This page is the only entry point for
FH Hamburg with warranty. The URLs of other pages may change if
necessary
Bilder (gif-Dateien und jpeg-Dateien) können allein schon durch die
verwendete Farbtabelle stark komprimiert werden. So sollten nach
Möglichkeit nur Grundfarben und keine Mischfarben verwendet werden.
Auch die Anzahl der Farben spielt eine große Rolle. Verwendet man in
dem Bild nur z.B. 4 Farben, dann braucht man keine Farbtabelle von
16,7 Millionen Farben mitzuschleppen. Anders ausgedrückt, man sollte
die Farbpalette so klein wie möglich halten. Sinnvolle Schritte sind
2, 4, 16 oder 256 Farben.
Weiterhin sollte man häufige Farbänderungen in Flächen vermeiden
und durch eine einheitliche Grundfarbe ersetzen.
Bilder sollten nur in einer Auflösung von ca. 72dpi (75dpi je nach
technischen Möglichkeiten) gescannt werden (mehr gibt ein Bildschirm in
der Regel nicht her) und farblich nachbearbeitet werden (s.o.).
oder die Kunst wie man eine Seite zerschnipselt
Frames sind eine Mode-Erscheinung die immer mehr um sich greift. Wie diese
Technik funktioniert ist ausreichend bei
Münz
und
Partl
beschrieben und ich will hier keine Redundanz produzieren. Nur ob man dann
auch seine Schnipsel wirklich im Griff hat (hier liegt das größte
Problem) sei dahingestellt.
- Vorteile
- einfache Navigation (sofern Frames wirklich sparsam verwendet und
sauber verwaltet werden).
- einfaches Design
- probates Mittel um seinen Lesern Reklamebildchen aufzuzwingen (durch
die manche Website finanziert wird).
- Nachteile
- Navigation ist von außen nicht eindeutig und nicht
nachvollziehbar
- sehr hoher Verwaltungsaufwand um eine einigermaßen saubere
Navigation zur Verfügung zu stellen
- sieht oft aus wie gewollt und nicht gekonnt. Vor allen Dingen
wenn mehr Platz auf der Seite für das Drumrum als für
die eigentliche Nutzinformation verwendet wird.
- ruiniert andere Websites, wenn diese plötzlich in alten Frames
einer anderen Website festsitzen.
- Seiten werden deutlich langsamer geladen und erzeugen eine höhere
Netzbelastung.
- Bookmarks können nicht gesetzt werden
oder die Kunst wie man sich mit Bausteinen Routinearbeiten
spart
Server-Side-Includes sind Anweisungen an den Server innerhalb einer
html-Seite. Wichtige Anweisungen sind:
Allen Server-Side-Includes gemeinsam ist: Sie fangen mit
<!--#
an und enden mit -->
Dies ist eins der nützlichsten Instrumente zur Standardisierung
von html-Seiten. Diese Textbausteine lassen sich an jeder Stelle der
html-Seite einbauen. Ich verwende sie mindestens auf jeder Seite für
die Body-Definition (in der Schriftfarben, Hintergrundfarbe, Hintergrundbild
usw. festgelegt wird) und als Signatur im Fuß der Seite. Dies hat
folgende Vorteile:
- Man braucht sich über die Gestaltung der Seitenfarben, der Signatur
usw. nur einmal Gedanken zu machen.
- Man erziehlt ein einheitliches Aussehen der Seiten und damit einen
hohen Wiedererkennungswert.
- Man hat eine leichte Wartbarkeit der Seite, indem man ggf. einmal das
Macro ändert und damit alle Seiten geändert hat.
- Man spart sich unötige Tipparbeit für immer wiederkehrende
Aufgaben.
Die allgemeine Form dieses Befehls lautet:
<!--#include virtual="/pfad/textmacro.html"-->
Mit dem Server-Side-Include config timefmt kann man das Zeitformat
für Zeitabfragen wie z.B. nach dem Modifikationsdatum konfigurieren.
Gültige Parameter sind:
- Wochentag in Englisch: %a (Kurzform), %A (Langform)
- Monatstag: %d (immer 2-stellig), %e (1- oder 2-stellig)
- Monatsname: %b (Kurzform), %B (Langform), %m (als Jahl)
- Jahreszahl: %y (2-stellig), %Y (4-stellig)
- Stunde: %H (24-stündig), %I (12-stündig),
%p (Tageszeit: AM/PM nach Verwendung der 12-stündigen Uhrzeit)
- Minuten: %M (2-stellig)
- Sekunden: %S (2-stellig)
- Sonstige Zeitangaben: %j (julianisches Datum), %U (Kalenderwoche),
%w (Tag der Woche als Zahl: 1-7), %Z (Zeitzone).
Hier nun die Definitionen für eine Datumsausgabe wie sie Deutschland
üblich ist:
<!--#config timefmt="%d. %b. %Y"-->
<!--#config timefmt="%e. %m. %y"-->
Das folgende Server-Side-Include bietet sich an, um den geforderten Stand
der Seite automatisch zu aktualisieren. Baut man den Befehl in einer html-Seite
ein, wird immer das Datum der letzten Bearbeitung der Seite in der Form der
vorher definierten Datumsausgabe ausgegeben.
<!--#echo var="LAST_MODIFIED"-->
Kleine Falle! Diesen Befehl sollte man nicht in einem Textmacro
verwenden, denn dann wird das Modifikationsdatum des Textmacros und nicht das
Modifikationsdatum der Seite, in die das Macro eingesetzt wird, ausgegeben.
Man kann nicht nur das Modifikationsdatum der aktuellen Seite, sondern das
Modifikationsdatum jeder Datei im Zugriff des WWW-Servers abfragen und
ausgeben. Dies ist sehr nützlich um die Aktualität einer mit einem
Link versehenen Datei zu kennzeichnen.
<!--#flastmod virtual="/pfad/datei.extension"-->
Noch mehr als das Modifikationsdatum einer mit einem Link versehenen Datei,
ist die Größe dieser Datei von Interesse. Mit dieser Angabe kann
man sofort abschätzen ob man diese Datei (in der Regel ein Programm-Paket,
ein Bild, ein Video- oder Ton-Dokument) wirklich jetzt und überhaupt
holen möchte. Damit kann man z.B. bei schlechten Leitungsverbindungen
(z.B. Stau-Zeiten um die Mittagszeit) Benutzerabbrüche vermeiden und
Übertragungen von großen Dateien auf freiere Zeiten verlegen
(freie Bahn hat man morgens zwischen 5 und 7 Uhr).
<!--#fsize virtual="/pfad/datei.extension"-->
Auf dem Server www.haw-hamburg.de für den allgemeinen
Gerbrauch verfügbare Macros
- /macro/body.html
- wenn man auf der html-Seite statt <body> den Server-Befehl
<!--#include virtual="/macro/body.html"--> verwendet, hat
man die zur Zeit für die Fachhochschule Hamburg gültige
Definition für die Seitenfarben und Hintergrundbild.
- /macro/colorcode.html
- Macro mit der Definitionsleiste für die Farbknöpfe in englischer
Sprache. Diese Definitionsleiste läßt sich einfach unter dem
Seitenkopf mit <!--#include virtual="/macro/colorcode.html"-->
einbinden.
- /macro/farbcode.html
- Macro mit der Definitionsleiste für die Farbknöpfe in deutscher
Sprache. Diese Definitionsleiste läßt sich einfach unter dem
Seitenkopf mit <!--#include virtual="/macro/farbcode.html"-->
einbinden.
oder wie kann ich mit wenig aussagekräftigen
Informationen meinen Server ausbremsen
Seitenzähler, sogenannte Counter tauchen in
unterschiedlichen Gestalten immer wieder auf und werden immer wieder
gewünscht. Counter gibt es schon als Geschäftsidee als mehr
oder weniger teure Serviceleistung.
- Was bringt mir ein Seitenzähler?
- Counter zeigen an, wie oft die aktuelle Seite gelesen worden ist,
nur relativiert sich diese Aussage durch nicht dokumentierte, oder
viel zu lange Zeiträme für diese Zahl.
- Lang laufende Counter mit hohen Zahlen täuschen vor, dass die
aktuelle Seite eine ganz tolle, viel gelesene Seite ist.
- Was bewirkt ein Seitenzähler?
- Einfache Zähler merken sich in der Regel einen Zahlenwert
in einer kleinen Datei. Beim Zugriff der betreffenden Seite
wird diese Datei geöffnet, die Zahl inkrementiert und
wieder weggeschrieben. Dieser Zahlenwert wird dann in mehr
oder weniger hübscher Form in der aktuellen Seite
ausgegeben. Was hier in der Regel vergessen wird, ist die
Tatsache, dass auf normalen WWW-Servern mehrere Prozesse parallel
laufen. Diese Form des einfachen Zählers ist natürlich
nicht 2 gleichzeitigen Zugriffen gewachsen und das harmloseste
Ergebnis ist die Zerstörung der Zählerdatei.
- Der zweite Ansatz ist ein Zähler mit einem Semaphor
(Grundlagen Informatik). Klingt bannig kompliziert, aber diese
Zugriffssteuerung (nur einer zur Zeit) kann man für Dateien
einfach mit den Dateiattributen verwirklichen. Nur was passiert?
Wenn jetzt diese ach so tolle Seite parallel angefordert wird,
muss einer warten. Passiert dies nun auf vielen Seiten, dann
kann man sich fragen wozu nun parallele WWW-Service-Prozesse
überhaupt zur Steigerung der Reaktionsgeschwindigkeit auf
dem Server installiert wurden.
- Der dritte Ansatz ist die Einbindung eines Zählers auf
einem externen Server. Selbst wenn eine schnelle Verbindung
zu einem schnellen externen (Counter-)Server besteht wird
dadurch unnötiger Overhead und unnötige Wartezeit
provoziert. Bei jedem Zugriff auf die Seite muss eine Verbindung
zum meist doch nicht so schnellen Server mit der meist gar nicht
so schnellen Leitung hergestellt werden. Auf dem externen
(Counter-)Server findet dann Ansatz 1 oder 2 statt und in
der Zwischenzeit gilt Welt-Weit-Warten. Aber man kann
ja Werbung in der Counter-Darstellung unterbringen und dem
Werbepartner des Counter-Anbieters viele Lese-Zugriffe dokumentieren.
- Auf einem Proxy-Server der häufig gelesene Seiten
zwischenspeichert wirken alle drei Ansätze wie der 3. Ansatz
und die Resourcenverschwendung multipliziert sich.
- Lösungsansatz.
- Regelmässige statistische Auswertung der Serverzugriffe zu
festen und vergleichbaren Zeiträumen. Bewährt haben
sich monatliche und summierte tägliche Auswertungen des
aktuellen Monats.
- Präsentation der statistischen Auswertungen nach unterschiedlichen
Bedürfnissen und Gesichtspunkten. Ansätze sind z.B.
Sortierungen nach der Anzahl der Zugriffe (Hitparade) oder der
Seitennamen (dort kann man dann die Zugriffe auf eine bestimmte
Seite erfahren, wenn man es wirklich wissen will).
- Sichtbarmachung von Tendenzen. Durch die statistischen Auswertungen
in festen Zeiträumen kann man erkennen, ob eine bestimmte
Seite in der Beliebtheitsskala steigt oder fällt.
Stand: