Tag: http status code 304

从API获取需要If-modified-since的数据,在节点js中使用request.js

我正在做一个4chan API的代理。 我在Node.js + Express中使用request.js来查询API,我不知道如何完全实现API所需的“If-modified-since”,这是代码: app.get('/api/boards', function(request, response){ req({uri:'https://api.4chan.org/boards.json', json: true}, function (error, res, data) { if (!error && res.statusCode == 200) { response.jsonp(data['boards']); } }); }); 如果我对已经完成的4chan进行查询,它不会回答,超时会触发。 4chan API规则: 每秒不要提出一个以上的请求。 线程更新应该设置为最less10秒,最好是更高。 在做请求时使用If-Modified-Since。 使用与应用程序相同的协议来制作API请求。 只有当用户通过HTTPS访问您的应用程序时才使用SSL。 稍后再来…

为什么expression'sendFile函数将304视为错误?

我有一个expressjs服务器,使用sendFile函数将文件发送到客户端。 我使用函数的callback来了解何时发生错误。 现在看来,每当sendFile决定以304(这是我所期望的行为)作出响应,它的callback被调用以下错误: Error: Request aborted: sendFile error at Object._onImmediate (…/node_modules/express/lib/response.js:941:17) at processImmediate [as _immediateCallback] (timers.js:336:15) { [Error: Request aborted: sendFile error] code: 'ECONNABORT' } 我找不到任何关于这个的文档,我想知道如何确定什么时候忽略这个错误以及什么时候对它作出反应,因为看起来可能有其他的情况,这样的错误是一个问题的症状,而不仅仅是期望行为的副作用。 这确实是sendFile应该做的吗? 有没有关于这个的任何文件? 我如何区分这个错误与其他ECONNABORT错误?