Moin Moin!
[...]
Wie willst du denn die Ladezeiten abschätzen? - Etwa die Differenz der Zeiten vom ersten bis zum letzten Hit auf die Domain mit gleicher IP?
[...]
Hab ich leider nicht so ganz sauber geschrieben, weil der Kopf mal wieder schneller als die Finger war.
Deshalb die Nachfrage ;)
Zudem würde mich eine Lösung interessieren (also ich hab ja auch ein paar auf Lager).
Deine Seite muß (1.) dynamisch erzeugt werden und (2.) beim Erzeugen muß in eine Datenbank (nicht notwendigerweise relational, eine Text-Datei könnte reichen) genau der zufällige Teil der Bild-URL mit Timestamp als "Startmarke" geschrieben werden. Wenn dann das Bild geladen wird, schreibt das "Bild-Ausgebe-CGI" eine entsprechende "Stopmarke" in die Datenbank.
Das Bild muß möglichst weit hinten in der HTML-Datei stehen, damit es nicht schon geladen werden kann, bevor die HTML-Datei geladen ist.
Zum Auswerten sucht man nun Paare von Start- und Stopmarken aus der Datenbank und berechnet die Zeitdifferenz.
Aha. Wenn man dies nun noch auf alle Ressourcen einer Page (eg. alle externen Scripts, alle Bilder, ...) ausweiten würde, dann hätte man in der Tat eine sehr genaue Referenzzeit. Aber eben, leider bin ich auf eine Client-seitige Lösung angewiesen und da wirds bekanntlich "etwas" unmöglich ;-)
Bzw. über die von mir genannte Zwischenlösung über IP und Cookie Identification, wobei auch das, wie ich bereits beschriebene habe, ziemlich in "die Hosen gehen kann"... Aber ich denke, dass deine rein serverbasierte Lösung durchaus gut ist.
Natürlich ist das Verfahren nicht 100% sicher, allein schon deswegen, weil einige böse Surfer die Bilder nicht laden.
Wenn du wie gesagt, alle Ressourcen misst, dann hättest du auch dann eine, wenn auch sehr ungenügende, Referenzzeit (eg. weil der Nicht-Bildlader das laden von externen .js Dateien nicht unterbinden kann)...
Doch, doch: Keine Bilder, kein Javascript, keine Cookies, keine Style Sheets (Hallo Lynx!) und schon bekomme ich nur noch die HTML-Seite.
Aber wie ich auch schon sagte, habe ich es vorwiegend mit 0815-Usern zu tun => Cookies aktiv, JS aktiv, Bilder aktiv, Sicherheitslücken aktiv ;)
Na denn schieb' ihnen doch gleich eine Hand voll unsignierter ActiveX-Controls unter! ;-)
Aber die Kombination aus Zeit (sekundengenau), Client-IP-Adresse und einer Zufallszahl sollte einen einzelnen Surfer -- für diese Messung -- ausreichend genau identifizieren. Man kann das sicher noch weiter spinnen, z.B. den HTTP_USER_AGENT noch mit aufnehmen, oder den REMOTE_PORT (in der HTML-Seite als Parameter für das Bild). Man kann natürlich auch noch versuchen, einen eindeutigen Cookie zu setzen und den auch noch mit "verwursten".
Entscheidend ist, möglichst viele Informationen zu einem möglichst eindeutigen Key zusammenzufassen.
Und dann einen MD5 darüber legen und schon hat man einen durchaus zu gebrauchenden und nahezu uniquen Fingerprint des Clients, der auch nur 128bit gross ist :-)
Tja, wenn Du ohnehin mit CGI (oder ASP/PHP/JSP/...) arbeitest, kannst Du ja auch noch 'ne MD5-Summe über die (pro Client) unveränderlichen HTTP-Header machen.
Nur: Ich habe diverse Dateien (JPEGs), die identische MD5-Summen haben, trotz unterschiedlichem Inhalt. Bei manchen Daten ist das Ergebnis von MD5 wohl auf einen sehr kleinen Bereich aus den 2^128 Möglichkeiten begrenzt. Deswegen setze ich MD5 nicht mehr als ausschließliches Verfahren ein, sondern noch mindestens ein zweites Verfahren (XOR-Summe, 16bit-Summe ohne überlauf, ...).
Stellt sich also die Frage, ob man die Client-Daten wirklich mit MD5 auf 128 Bit eindampfen muß, wo 1 MByte Festplatte doch so billig ist. ;-)
Alexander