1

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

Sails 会生成一个 Etag 及其响应,但是当我尝试使用包含上一个答案中的 Etag的标头“if-None-Match”进行 GET 请求时,我无法从服务器获得304 not Modified响应(响应是确实没有修改,我收到的 Etag 和之前的一样)。

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

帆服务器有没有办法在未修改的响应上发送这样的状态代码?我在sails doc 中找不到任何用于Etag 的资源。

谢谢你。

4

1 回答 1

0

Sails.js 基于 Express.js,ETag 由 Express.js 生成。根据这个答案,弱 ETag 是使用 CRC32(源)生成的,强 ETag 是使用 MD5(源)生成的。

我使用带有If-None-Match标头的DHC - REST/HTTP API 客户端,它运行良好(返回 304 Not Modified)。

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

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

您可以按照此答案关闭此功能,然后一切都会好起来的。

于 2015-04-15T19:04:19.833 回答