由于一些非编程限制,我暂时无法使用最新的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响应?