Die Protokolldatei (Log File) wird vom Server automatisch erstellt und ist eine Liste der von ihm durchgeführten Aktivitäten.

Das W3C beschreibt ein Standardformat (das Common Log Format) für Webserver-Protokolldateien, aber es gibt auch andere proprietäre Formate. Neuere Einträge werden normalerweise an das Ende der Datei angehängt.

Diese Dateien sind für Internetnutzer nicht zugänglich, sondern nur für den Webmaster oder eine andere administrative Person eines Internetdienstes. Eine statistische Analyse des Serverprotokolls kann verwendet werden, um Verkehrsmuster nach Tageszeit, Wochentag, Verweiser oder Benutzeragent zu untersuchen. Eine effiziente Website-Verwaltung, angemessene Hosting-Ressourcen und Feinabstimmungen können durch die Analyse der Webserver-Protokolle unterstützt werden.

Wenn Browser (von einem PC, Smartphone, Tablett, etc.) eine beliebige Webseite im Internet aufruft, fordert er vom Server auf dem diese Seite gehostet ist, die nötigen Dateien (html, css, JS, Bilder, etc.) zur Darstellung an.
Der Server seinerseits liefert diese Dateien aus, und protokolliert jede Versendung einer Datei.

Anmerkung: fast alle Hosting Anbieter, nutzen als Webserver sogenannte „Apache HTTP Server“ (erstes Release 1995), von daher ist auch der Aufbau der Logfiles identisch; zudem nutzt Apache das „Common Log File Format“.

Beispiel einer Logdatei

Hier ein Beispiel, wie so ein Log-Eintrag für eine angeforderte Datei aussieht (aus Gründen der Darstellung ist der Eintrag mehrzeilig).

66.249.70.25 - - [01/Apr/2018:23:59:19 +0200] "GET /robots.txt HTTP/1.1" 200 10063 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" "www.stichpunkt.de"

Den Eintrag kann man entnehmen, dass die Suchmaschine Google, die Datei „robots.txt“ angefordert hatte, und der Server sie erfolgreich ausgeliefert hat. Die Erläuterung der einzelnen Komponenten folgt. Generell gilt, dass der einfache Bindestrich „-“ für „nicht vorhanden Inhalt“ steht. Im Folgenden werden die einzelnen Bestandteile des Logfiles erklärt..

66.249.70.25
Die (dynamische) IP-Adresse des Clients (Besucher)
-
Die Identität, wie in RFC 1413 als „identd“ definiert, auf dem Gerät des Clients. Diese „Identität“ ist jedoch sehr einfach zu fälschen, und wird quasi nie verwendet.
-
Sofern der Zugriff auf die Seite mit einem Passwortschutz ausgestattet ist, wird hier der verwendete Benutzername angezeigt. Andernfalls erscheint hier das Minuszeichen. Das Passwort selbst wird natürlich nicht protokolliert.
[01/Apr/2018:23:59:19 +0200]
Datum -und Zeitstempel und Angabe der Abweichung zur UTC (In Deutschland also "+0100" oder "+0100" (Sommer / Winterzeit.
"GET /robots.txt HTTP/1.1"
Die Anfrage des Clients. Hier sind die verwendete Methode (GET), die angefragte Datei (robots.txt) und die genutzte Version des HTTP-Protokolls einsehbar.
200
Der HTTP-Statuscode (200 = alles bestens), mit dem der Server geantwortet hat.
1071
Die Größe (in Bytes) der Datei, die der Server ausliefert.
"-"
Der HTTP-Referer (also von welcher Seite, über einen Link, die Anfrage stammt. Wenn dir URL direkt angesteuert wird, dann das bekannte "-" Zeichen.
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Der User-Agent des Clients. Dient im Wesentlichen zur Browsererkennung, um auf bestimmte Komptabilitäts-Probleme zu reagieren (sprich: einen modifizierten html, JS, etc. Code auszuliefern). Die sogenannten „Crawler“ (auch Bot genannt), sofern sie nichts zu verbergen haben, identifizieren sich ebenfalls (hier: der Google Bot).
"www.stichpunkt.de"
Die vom Client aufgerufene Domain. Nötig, da auf einem einzelnen Webserver sehr häufig mehrere Domains (in der Regel zwischen 50 bis 500) gehostet werden.
Webserver Log-Datei

Hier ein Screenshot als Beispiel, wie eine Logdatei im Original aussieht (mit Notepad++ geöffnet). Der Screenshot ist rechts abgeschnitten, da er sonst sehr, sehr „breit“ wäre.


Anonymisierung

Jeder „Webmaster“ der seine Domains hosten lässt, hat Zugriff auf diese Logfiles. Allerdings werden diese meist nach einigen Monaten gelöscht (auch deswegen, da sie schnell viel Plattenplatz beanspruchen). Zudem bieten die meisten Hosting-Pakte die Option, die IP Adresse anonymisiert zu speichern. Dabei wird entweder die gesamte IP durch eine künstliche ersetzt oder die letzten Ziffern verändert (siehe auch Wie ist meine IP-Adresse?)

Zudem können Webserver Logdateien schnell wachsen, da nicht nur 1 Eintrag für den Aufrufe von z.B. „server-log-file.html“ geschrieben wird, sondern für jedes Bild, jede css / js Datei, usw. eine weitere Zeile ins Log wandert. So kommen schnell 10-20 Einträge pro aufgerufener „Seite“ und „Besucher“ zusammen.

Ein weiteres Beispiel:

10.20.666.444 - -[09/Jun/2018:09:11:22 +0100] "GET /index.html HTTP/1.1" 200 658 "-" "Mozilla/5.0 (Windows NT 7.0; WOW32; rv:54.0) Gecko/20100101 Firefox/54.0" "www.stichpunkt.de"

Hier hat ein Besucher (IP-Adresse frei erfunden) am 09.06.2018 um 09:11 Uhr Ihre Seite www.stichpunkt.de besucht. Ihm wurde das 658 byte große Index-Dokument (GET /) erfolgreich angezeigt (Statuscode 200). Als Browser (User-Agent) wurde Firefox 54.0 auf Windows 7 32-bit benutzt.