如何将Etag与sailsjs一起使用

时间:2015-04-14 10:04:21

标签: express sails.js etag postman http-status-code-304

我正在尝试改善sails应用程序的缓存功能。

Sails会根据其响应生成一个Etag,但是当我尝试使用标题'if-None-Match'执行GET请求时,包含前一个答案中的Etag我无法获得<来自服务器的强> 304未修改响应(响应确实没有修改,我收到的Etag与前一个相同)。

我正在使用POSTMAN测试服务器响应。

sails服务器是否有办法在未修改的响应中发送此类状态代码?我在sails doc中找不到Etag用法的任何资源。

谢谢。

1 个答案:

答案 0 :(得分:0)

Sails.js基于Express.js,ETag由Express.js生成。根据{{​​3}},使用CRC32(源)生成弱ETag,使用MD5(源)生成强ETag。

我将this answer If-None-Match 标头一起使用,它完美无缺(返回304 Not Modified)。

我发现这是因为POSTMAN向服务器发送NO-CACHE标头以进行测试

'cache-control': 'no-cache',

您可以关注DHC - REST/HTTP API Client并关闭此功能,然后一切都会好起来。