Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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. :shock:

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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.