Ist die Seite in HTML? Dann könntest Du es so lösen:
Im Kopf der Seite in Javascript einen Timer starten
Im body machst Du weiterhin ein onload um eine JS Funktion zu starten, sobald die Seite vollständig geladen wurde.
Diese JS-Funktion macht dann nichts anderes als ein Bild im Hintergrund zu laden z.B. so:
Code: Alles auswählen
(new Image).src='http://example.com/deinbild.php?r=' + Math.floor(Math.random()*1000000) + 'time=' + time;
In der Datei deinbild.php gibst Du dann ein unsichtbares 1x1 Pixel Gif aus und verarbeitest zusätzlich die Zeitangaben. Entweder jeden Wert in eine Logdatei schreiben oder Du ermittelst einen Schnitt. Je nachdem welche Daten Du eigentlich haben willst.
Das geht aber nur, wenn es eine HTML-Seite ist, die viele Elemente beinhaltet. Bei einer 300kb großen HTML-Seite (also deren Quelltext) ist das denke ich nicht möglich, da der Browser meine ich erst mit dem Aufbau der Seite beginnt, wenn er das </html> eingelesen hat. Aber das weiß ich nicht verbindlich.
Ansonsten könnte man auch einen Timer in php starten, den man im Footer ausgibt und den man dann per Javascript ausließt.
Es kommt eben darauf an, ob Du wissen willst, wie lange der Quelltext übertragen wurde oder ob die Elemente auf der Seite geladen wurden.
Bei normalen Dateien ist es dagegen unmöglich so viel ich weiß. Die Logfiles z.B. sind total ungenau was das anbelangt. Ich hatte deswegen schon mal einen Streit mit einem Provider, da bei einer Trafficberechnung nicht berücksichtigt wurde, ob die Datei wirklich komplett geladen wurde. Ich habe das getestet, in dem ich eine 5GB große Datei auf dem Server mehrmals nur angepingt habe und dann plötzlich 300GB Traffic produziert haben soll.
Was genau ist denn 300kb groß?