我正在尝试改善sails应用程序的缓存功能。
Sails会根据其响应生成一个Etag,但是当我尝试使用标题'if-None-Match'执行GET请求时,包含前一个答案中的Etag我无法获得<来自服务器的强> 304未修改响应(响应确实没有修改,我收到的Etag与前一个相同)。
我正在使用POSTMAN测试服务器响应。
sails服务器是否有办法在未修改的响应中发送此类状态代码?我在sails doc中找不到Etag用法的任何资源。
谢谢。
答案 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并关闭此功能,然后一切都会好起来。