| Autor |
Beitrag |
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 04.02.11 14:59
Hallo,
Ein Apache Server schickt aus einer ISAPI-DLL kommende Daten, die JavaScript- und HTML-Dateien sowie Bilder enthalten, an den Browser. Dabei wird vom Apache, da die Paketgröße überschritten wird, automatisch das Transfer-Encoding auf chunked gesetzt. Die Daten werden soweit ich das sehe auch korrekt geschickt.
Mit Internet Explorer, Opera, Chrome und Firefox 4 funktioniert es auch problemlos. Aber leider mit dem Firefox 3.6 nicht. Dieser bekommt soweit ich das in Wireshark überblicke im Grunde die gleichen Daten, kann aber offenbar mit dem Transfer-Encoding nichts anfangen.
Passieren tut genauer gesagt, dass der FF das erste Paket bis zum Ende benutzt, den Header des nächsten Pakets dahinter aber verwirft. Dadurch ist das nächste Paket headerlos und damit nutzlos.
Egal ob die Daten selbst mit deflate, gzip oder gar nicht gepackt sind, es klappt nicht.
Kennt jemand diesbezügliche Probleme oder sogar Lösungen?
Vielen Dank,
schönen Gruß,
Sebastian
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 04.02.11 16:35
Kannst Du bitte mal einen Dump von ungepackten Daten der TCP-Verbindung anhängen (oder ggf. via PN) schicken? Chunked-Encoding und Paket-Größe? Ich denk mal, dass beim Kodieren des Chunked-Encodings was schief geht.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jaenicke 
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 04.02.11 17:39
So, danke, aber es ist jetzt geklärt.
Mit ein paar Änderungen an der DLL läuft es. Der alte Firefox ist wohl schlicht an der Stelle nicht so fehlertolerant wie die anderen Browser. Naja, Hauptsache es funktioniert jetzt auch da.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 04.02.11 17:51
Was hat die DLL denn falsch gemacht?
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jaenicke 
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 04.02.11 18:15
Um genau zu sein wie ich jetzt weiß nicht die DLL sondern der Apache. Das war eine Uraltversion, die sich zum Testen gut eignete. Mit einer aktuellen Produktivversion funktioniert es.
|
|
|