Location ist doch eine Umleitung (wenn ich mich jetzt richtig erinnere), dann dürfte der Browser nach diesem CGI-Sctipt dann die Datei anhand der übergebenen
DL-Adresse neu beim Server anfordern und dann hoffentlich direkt vom HTTP-Server abrufen.
Eventuell erkennt man im Log des HTTP-Servers, warum die Downloads abbrechen?
In PHP sieht man oftmals nur sowas (sehr oft ohne Content-Length, Content-Disposition usw.),
Code:
header("Content-Type: $type");
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($dir.$file);
wo die "richtige" Dateiadresse nicht verraten wird (bei dem Location könnte man die eigentlich Datei-
URL auslesen und dann an dem Downloadscript vorbei die Datei direkt laden. Also wenn man dann diese
URL an Andere weitergibt, dann würden diese nicht mehr mitgezählt.
Hier bleibt das PHP-Script so lange aktiv, bis der Download fertig ist und die Verbindung getrennt wurde.
Wenn der Downlod nun zu lange dauert, dann kann ein Timeout im PHP-Server das Script und damit den Download abbrechen.
Wenn im HTTP-Log nichts zu finden ist...
Zumindestens dieses PHP-Script kann man so erweitern, daß es mitlogt, ob/wann die Verbindung clientseitig getrennt wurde, bzw. ob das Scripttimeout oder eine andere
Exception zugeschlagen hat.
Gent eventuell geht das auch mit CGI, wenn man dort die Datei ebenfalls direkt ausliefert, aber mit CGI hab ich noch nie was gemacht.