Witam,
Prawdopodobnie mój problem dotyczy bardziej znajomości działania przeglądarek niż samego Delphi, ale z braku innych opcji postanowiłem napisać tutaj.
Istniejący i działający serwer www napisany w Delphi z wykorzystaniem IdHTTTPServer służy do przesyłania dość dużych stron, których czas ładowania nie jest zadowalający, dlatego naturalnym rozwiązaniem wydaje się być kompresja stron.
Zastosowałem IdCompressorZLibEx i niby wszystko działa na wszystkich przeglądarkach... za wyjatkiem IE. W IE6 pojawia się biały ekran, w IE7 standartdowe "Internet Explorer cannot display the webpage".
Fragment kodu:
StreamIn:=TStringStream.Create(ContentText);
StreamOut:=TMemoryStream.Create;
with TIdCompressorZLibEx.Create do begin
CompressHTTPDeflate(StreamIn,StreamOut,1);
Free;
end;
StreamIn.Free;
AResponseInfo.ContentStream:=StreamOut;
AResponseInfo.ContentType:='text/html; charset=windows-1250';
AResponseInfo.ContentEncoding:='deflate';
Nagłówki:
GET / HTTP/1.1Accept: */*Accept-Language: plUA-CPU: x86Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)Host: localhost:8887Connection: Keep-Alive
HTTP/1.1 200 OKConnection: closeContent-Encoding: deflateContent-Type: text/html; charset=windows-1250Content-Length: 375Server: Indy/10.1.3Set-Cookie: IDHTTPSESSIONID=jXIxqgfpCovB9QM; path=/
Nie mogę nie liczyć się z Micro$oftowym tworem, więc będę wdzięczny za wszelkie pomysły i sugestie.