Wer die Möglichkeit hat, auf die Logfiles des Webservers seiner Domain zuzugreifen, kann daraus sehr viele Informationen über seine Besucher herauslesen.
Eine Reihe von Online- und Offline- Tools unterstützen Sie bei der statistischen Auswertung dieser Logfiles.
Nicht jeder Homepage- Besitzer hat die Möglichkeit, auf die Logfiles des Webservers zuzugreifen. Manche Service- Provider stellen ihren Kunden lediglich fertig ausgewertete Statistiken zur Verfügung, Billig- Provider bieten oft gar keine Möglichkeit, die Logfiles in irgendeiner Art einzusehen.
Das Logfile
Je nachdem, wie der Webserver konfiguriert wurde, werden die Requests (Anfragen von Clients) unterschiedlich detailliert in die Logfiles geschrieben.
Typischerweise sieht ein Logfileantrag so aus:
port-212-202-204-251.reverse.qdsl-home.de - - [04/Jul/2003:07:20:07 +0200] "GET /images/backnfs.jpg HTTP/1.1" 200 5205 "http://unix.nightfire.ch/java/gimmicks.htm" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.4) Gecko/20030624"
In diesem Beispiel forderte ein Mozilla- Browser, der unter Windows 2000 ausgeführt wird, am 4.Juli um 7 Uhr und 20 Minuten eine Datei namens backnfs.jpg an, die 5205 Bytes gross ist und zu einem HTML- Dokument namens gimmicks.htm gehört, und bekam diese ausgeliefert.
Der Reihe nach:
port-212-202-204-251.reverse.qdsl-home.de beschreibt den Service- Provider, über den der Surfer sich ins Web eingewählt hat.
port-212-202-204-251.reverse.qdsl-home.de
[04/Jul/2003:07:20:07 +0200] ist das Datum und die Uhrzeit, an dem die Anfrage an den Server gestellt wurde.
[04/Jul/2003:07:20:07 +0200]
"GET /images/backnfs.jpg HTTP/1.1" Angabe der Requestmethode (get), der angeforderten Datei und des verwendeten Protokolls
"GET /images/backnfs.jpg HTTP/1.1"
200 ist der Statuscode des Webservers. In diesem Falle wurde die Datei gefunden (Statuscode 200)
200
5205 bezeichnet die Dateigrösse der ausgelieferten Datei.
5205
"http://unix.nightfire.ch/java/gimmicks.htm" bezeichnet den Requestor, d.h., von wo die Anfrage gestellt wurde. In diesem Falle gehört die angeforderte Grafik zu einer Webseite, die auf der Domäne nightfire.ch gespeichert ist.
"http://unix.nightfire.ch/java/gimmicks.htm"
"Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.4) Gecko/20030624" liefert Angaben zum Browser, den der Surfer verwendet.
"Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.4) Gecko/20030624"
Ein anderes Beispiel, welches eine Querverlinkung entlarvt:
pd9e01d47.dip.t-dialin.net - - [04/Jul/2003:13:31:57 +0200] "GET /java/jscript/trailgif6.gif HTTP/1.1" 302 250 "http://knuddelscom.de/homepages/knuddels.de/hp/208/rabbit1991.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; DT; H010818)" pd9e01d47.dip.t-dialin.net - - [04/Jul/2003:13:31:58 +0200] "GET /dienste/errorpages/arschkarte.gif HTTP/1.1" 200 27999 "http://knuddelscom.de/homepages/knuddels.de/hp/208/rabbit1991.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; DT; H010818)"
Hier versucht eine Webseite der Domain knuddels.com auf eine Grafik querzuverlinken. Da der Webserver mittels einer Rewrite Rule, welche Connects von fremden Webservern unterbindet, konfiguriert wurde, erhält der Request zuerst den Statuscode 302 (moved temporarily - temporär verschoben), danach wird die konfigurierte Ersatzgrafik ausgeliefert.
Weitere Beispiele:
crawler10.googlebot.com - - [04/Jul/2003:12:19:01 +0200] "GET /robots.txt HTTP/1.0" 200 322 "-" "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"
Hier erkennen wir den Besuch eines Suchmaschinen- Robots, der die Datei /robots.txt ausliest, um sich weitere Instruktionen zu holen, ob und wie er die Webseiten indexieren darf.
pd9555320.dip.t-dialin.net - - [04/Jul/2003:13:24:55 +0200] "GET / HTTP/1.1" 302 217 "http://www.google.de/search?q=nightfire&ie=ISO-8859-1&hl=de&btnG=Google+Suche&meta=" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
Hier sehen wir den Besuch eines Surfers, der über die Suchmaschine Google mittels Suchbegriff nightfire (search?q=nightfire) zu uns gefunden hat.
Auch Fehler werden im Logfile festgehalten. So können Sie anhand der Statuscodes feststellen, ob und welche Fehler Sie in Ihr Webangebot eingebaut haben.
p508e4d86.dip0.t-ipconnect.de - - [05/Jul/2003:19:46:30 +0200] "GET /cgi-bin/schlabo/dl_gueststats.pl?top=10 HTTP/1.1" 500 723 "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"
Hier tritt bspw. der Code 500 (internal Server error) bei der Ausführung eines Perl- Programms auf.
p508e4d86.dip0.t-ipconnect.de - - [05/Jul/2003:19:59:54 +0200] "GET /java/jscript/win_logo.gif HTTP/1.1" 404 1300 "http://unix.nightfire.ch/java/jscript/js_windows.htm" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"
Hier kann eine Grafik nicht am spezifizierten Speicherort gefunden werden - Code 404, Not found (nicht gefunden)
Die Möglichkeiten der Auswertung:
Wie Sie sich ausmalen können, wird ein Serverlogfile, welches jeden Request so ausführlich rapportiert, bei entsprechenden Besucherzahlen sehr umfangreich. Bei Nightfire bspw. fallen pro Woche Logfiles in der Grössenordnung von rd. 60 MB an. Diese Zeile für Zeile zu analysieren, käme einem Ding der Unmöglichkeit nahe.
Möglicherweise stellt Ihnen Ihr Provider ein Tool zur Verfügung, welches die Logfiles direkt auf dem Webserver auswertet und Ihnen eine grafisch aufbereitete Auswertung zur Verfügung stellt. Webalizer von http://www.mrunix.net/webalizer/ ist ein Beispiel hierfür.
Das Shareware- Programm Mescalero von Rendle Software (www.rendle.de) ist ein mächtiges Tool, um die Logfiles auf dem eigenen PC auswerten zu lassen.
Aber auch mit Excel lassen sich bereits ganz brauchbare Auswertungen durchführen.
Das Serverlogfile ist eine Plaintext- Textdatei und lässt sich mit jedem Texteditor einsehen.