如何读取gzip文件并发送到浏览器并让浏览器在Node.js中对其进行解码?

时间:2011-09-16 00:53:38

标签: node.js gzip

由于一些非编程限制,我暂时无法使用最新的node.js Express和Connect。我必须坚持2次颠覆。

所以,现在,我必须做我唯一的gzip javascript(因为旧版本没有处理ETag等)。

以下是我的工作:(我有一个工作的gzip文件)

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响应?

0 个答案:

没有答案