Как прочитать файл gzip и отправить его в браузер и позволить браузеру декодировать его в Node.js? - PullRequest
1 голос
/ 16 сентября 2011

Из-за некоторых ограничений, не связанных с программированием, я временно не могу использовать самые обновленные node.js Express и Connect. Я должен придерживаться 2 подрывной деятельности позади.

Итак, теперь я должен сделать мой единственный gzip javascript (потому что более старая версия не заботится о ETag и т. Д.).

Вот что я делаю: (У меня был рабочий файл gzipped)

fs.readFile('my.js.gz', function(err, data) {
  if (!err) {
   gzipJsFile = data;
  }
}


app.get('my.js', function(req, res) {
   // assume req.headers.accept-encoding contains gzip
   res.header('Content-Type', 'text/javascript');
   res.header('Content-Encoding', 'gzip');
   res.header('Accept-Ranges', 'bytes');
   res.header('Transfer-Encoding', 'chunked');
   res.header('Vary', 'Accept-Encoding');
   res.send(gzipJsFile);
});

И браузер не может разархивировать его.

Я использую Friddler. он жалуется на несоответствие длины содержимого. И также жалуется, что магическое число в заголовке Gzip неверно.

Мне интересно, правильно ли я читаю файл gzip и отправляю его в ответ HTTP?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...