【问题标题】:How to use Etag with sailsjs如何将 Etag 与sailsjs 一起使用
【发布时间】:2015-06-19 21:30:04
【问题描述】:

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

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

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

sails 服务器有没有办法在未修改的响应上发送此类状态代码?我在 Sails 文档中找不到任何 Etag 使用资源。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    Sails.js 基于 Express.js,ETag 由 Express.js 生成。并且根据this answer,弱ETags使用CRC32生成(source),strong ETags使用MD5生成(source)。

    我使用带有 If-None-Match 标头的DHC - REST/HTTP API Client,它完美运行(返回 304 Not Modified)。

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

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

    您可以关注this answer并关闭此功能,一切都会好起来的。

    【讨论】:

      最近更新 更多