我正在尝试改进我的sails 应用程序的缓存功能。
Sails 会生成一个 Etag 及其响应,但是当我尝试使用包含上一个答案中的 Etag的标头“if-None-Match”进行 GET 请求时,我无法从服务器获得304 not Modified响应(响应是确实没有修改,我收到的 Etag 和之前的一样)。
我正在使用 POSTMAN 来测试服务器响应。
帆服务器有没有办法在未修改的响应上发送这样的状态代码?我在sails doc 中找不到任何用于Etag 的资源。
谢谢你。
我正在尝试改进我的sails 应用程序的缓存功能。
Sails 会生成一个 Etag 及其响应,但是当我尝试使用包含上一个答案中的 Etag的标头“if-None-Match”进行 GET 请求时,我无法从服务器获得304 not Modified响应(响应是确实没有修改,我收到的 Etag 和之前的一样)。
我正在使用 POSTMAN 来测试服务器响应。
帆服务器有没有办法在未修改的响应上发送这样的状态代码?我在sails doc 中找不到任何用于Etag 的资源。
谢谢你。
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',
您可以按照此答案关闭此功能,然后一切都会好起来的。