Я пытаюсь преобразовать некоторые потоки JSON для прохождения через GZIPFilter, который я написал.До сих пор я был в состоянии настроить фильтр для очистки, когда я говорю это, и он, вероятно, выводит данные совместимого браузера gzip.Я перенаправил вывод в файл и запустил gzip -cd -v test.gz, который дал ожидаемый результат, а затем «неожиданный конец файла».
Проблема в том, что браузер все еще видит нулевой вывод (firebug), поэтомуМне было интересно, интерпретирует ли браузер частичные сбросы в поток gzip.
Поток содержит в основном инструкции / объекты javascript и должен приниматься и анализироваться на стороне клиента.Сервлет вызывается один раз и остается открытым в течение всей продолжительности сеанса, предоставляя клиенту данные;соединение не закрыто, поэтому поток продолжает работать, передавая данные с сервера.
Моя настройка: WinXP 32bit, GWT 2.4.0, Jetty7.4 .., GzipFilter (с настройками), Firefox8 / Chrome 10
Насколько я знаю по спецификациям RFC, контент декодируется только после окончания потока, поэтому то, что я пытаюсь сделать, может оказаться невозможным.Однако у вас могут быть некоторые предложения, чтобы заставить эту работу работать в основных браузерах.
Позже Редактирование:
- GzipFilter указывается через web.xml, и это нормально
- браузер получает Content-Encoding: gzip
- байт записывается в поток HTTPResponse
- , протестированный как в скомпилированном, так и в живом режиме GWT
- , протестированный с кодировками iso-8859-1 илиничего не указано
- тип содержимого text / html
- без фильтра, примененного через web.xml, все работает