bei "echten"
HTML-Dateien bekommt der Browser die Dateigröße vom
HTML-Modul,
denn da sind die Dateien ja fertig auf der Festplatte.
und somit ist es ein Leichtes die passenden Header zu setzen (Dateigröße, Änderungsdatum und 'ne Art Hash)
bei PHP und Co. wird die Datei live erstellt, also exisiert noch garnicht ... aus Gründen der Datenübertragung und zum Speichersparen werden die dateien stückchenweise gesendet und vor'm Senden kann noch keiner sagen wie groß maö die Datei wird.
Die Browser machen bei den von PHP, CGI und Co. erstellten dateien folgendes,
sie laden solange die datei runter, bis der erver sagt daß nichts mehr kommt (Dateiende)
Und wärend des Downloads zeigen sie Pseudowerte an, damit der "dumme" User denkt es bewegt sich was.
Beim IE steigt die Progressbar mehr Logarithmisch (langsamer werdend) und bei Dateiende springt der Balken einfach auf 100%
Zwecks Dateigröße laden sie sich die Datei runter, dabei wird am Anfang (vor dem Dateiinhalt) vom Server ein Header gesendet, wo unter Anderem (wenn verfügbar) die Dateigröße drinsteht (oder eben nicht) und danach richten die Browser dann ihre Progressbar ein (anhand Dateigröße, oder über Dummywerte).