Seitenzugriffe Loggen mit Ajax

Neben einem Nachteil gibt es nur Vorteile gegenüber dem hardcoded Logging

In meinem Framework wird jede einzelne Seite mit Perl ausgeliefert. Genauer gesagt, jede Einzelseite, sei sie interaktiv oder nicht, wird von ein und demselben Script als Response zusammengebaut und an den Webserver zrückgegeben. Für's Loggen der Zugriffe wäre es naheliegend, diese Angelegenheit gleich in der main, hardcoded zu erledigen. Das würde jedoch den Ladevorgang einer Seite verzögern, denn der Aufbau einer Verbindung zur Datenbank (zum Speichern) braucht Zeit.

Aus diesem Grund habe ich mich hierzu entschlossen, die Seitenzugriffe per AJAX zu Loggen, dieser Vorgang ist damit asynchron und hat auf das Laden einer Seite keinen Einfluss. Ein weiterer Vorteil besteht darin, dass auf diese Art und Weise die meisten Bot's aus der Statistik rausfallen. Des Weiteren ermöglicht ein asynchrones Loggen, dass die jeweilige Seite per Last-Modified-Header vom Browser gecached werden kann.

Der AJAX-Request für den Logg-Vorgang ist vom normalen Laden der Seite völlig unabhängig und diesbezügliche JavaScript-Anweisungen sind kurz vor Schluss einer Seite definiert. Der Request ist an den URL der jeweiligen Seite gerichtet, die gerade im Browser aufgerufen wurde. Damit sich für den normalen Ablauf in der Erstellung einer Response keine ungewünschten Abhängigkeiten ergeben, sorgt ein spezieller Request-Header dafür, dass eine bestimmte Methode (Funktion) im Framework aufgerufen wird, welche nur für den Loggvorgang zuständig ist. Ein weiterer Request-Header Content-Type: application/octet-stream teilt dem Framework mit, dass der Request keine Parameter enthält.

Infolge dieser Maßnahmen ist das Loggen in das Framework nahtlos integriert und gleichzeitig vom Framework-Interface entkoppelt. Dass heißt, dass der AJAX-Request für den Loggvorgang keine der für das Interface definierten Methoden aufruft. Ebensowenig sind für's Loggen zusätzliche Ressourcen notwendig.

Die Top-30 unter den Seitenaufrufen

Rank URL Aufrufe
1 rolfrost.de/firnis.html 5164
2 rolfrost.de/amselbrut.html 3027
3 rolfrost.de/maggi.html 1592
4 rolfrost.de/ 974
5 rolfrost.de/frischkaese.html 915
6 rolfrost.de/rest.html 747
7 rolfrost.de/form_data.html 661
8 rolfrost.de/hackfleisch.html 491
9 rolfrost.de/maya.html 400
10 rolfrost.de/sunservice.html 388
11 rolfrost.de/kloss.html 374
12 rolfrost.de/hobelsammlung.html 334
13 rolfrost.de/postengang.html 300
14 rolfrost.de/kraft.html 254
15 rolfrost.de/index 242
16 rolfrost.de/grenze.html 212
17 rolfrost.de/find 212
18 rolfrost.de/fm.html 210
19 rolfrost.de/mehlschwitze.html 197
20 rolfrost.de/gregreform.html 197
21 rolfrost.de/demo 187
22 rolfrost.de/cors.html 168
23 rolfrost.de/locsun.html 161
24 rolfrost.de/mondjahr.html 156
25 rolfrost.de/kalender 148
26 rolfrost.de/multipart_slice_data.html 142
27 rolfrost.de/netcalc.html 127
28 rolfrost.de/rhein.html 117
29 rolfrost.de/mhausen.html 117
30 rolfrost.de/heimatliches 111

Die rein persönlichen Zwecken dienende Seite verwendet funktionsbedingt einen Session-Cookie. Datenschutzerklärung: Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. @: Rolf Rost, Am Stadtgaben 27, 55276 Oppenheim, nmq​rstx-18­@yahoo.de