我目前正在使用一段非常简单的代码来返回node.js
中静态内容的请求:
function staticRequest(req, res) {
var toRetr = STATIC_DIR + req.params[0];
if (fs.existsSync(toRetr)) {
res.sendfile(toRetr);
} else {
res.status(404).send('Not found: ' + req.params[0]);
}
};
我想使用ETag来最小化客户端和服务器之间的冗余流量。
答案 0 :(得分:0)
我建议这样的事情:
var _myEtags = {};
function staticRequest(req, res) {
var toRetr = STATIC_DIR + req.params[0];
if (_myEtags[req.get('ETag')]) {
res.sendfile(toRetr);
} else {
if (fs.existsSync(toRetr)) {
_myEtags[req.get('ETag')] = true;
res.sendfile(toRetr);
} else {
res.status(404).send('Not found: ' + req.params[0]);
}
}
};
答案 1 :(得分:0)
我使用了节点的st模块。
答案 2 :(得分:0)
通过缓存提供静态页面的节点模块很少。
https://github.com/cloudhead/node-static(Github上最受欢迎)