确保响应不被缓存

发布于 2024-11-27 17:13:09 字数 244 浏览 2 评论 0原文

我有一个特定的 HTTP 响应,我不想缓存它,因为它包含私有/敏感数据,

我已经将 Cache-Control 设置为 no-store, 它应该处理支持 HTTP/1.1 的客户端。

如何使用 Expires 标头对 HTTP/1.0 执行相同操作?我应该将其设置为 1970 年的任意时间戳吗?是否有一个特殊的值告诉它永远不要缓存?

I have a particular HTTP response which I don't want cached because it has private/sensitive data in it

I'm already setting Cache-Control to no-store,
which should handle clients supporting HTTP/1.1.

How do I use the Expires header to do the same for HTTP/1.0? Should I just set it with an arbitrary timestamp from 1970 or something? Is there a special value to tell it never to cache?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ㄖ落Θ余辉 2024-12-04 17:13:09

HTTP RFC 说:

要将响应标记为“已过期”,源服务器会发送一个等于 Date 标头值的 Expires 日期。

您应该将过期标头设置为过去的日期。您还应该在 Cache-Control 标头上设置必须重新验证标志。

过期时间: 1990 年 1 月 1 日星期五 00:00:00 GMT
缓存控制:无缓存,必须重新验证

您可以在 doctype wiki

过去设置 Expires 标头可确保 HTTP/1.0 和
HTTP/1.1 代理和浏览器不会缓存内容。这
缓存控制指令还告诉 HTTP/1.1 代理不要缓存
内容。即使代理可能被配置为返回过时的内容
当他们不应该时,必须重新验证再次确认他们应该
不要这样做。

The HTTP RFC says:

To mark a response as "already expired," an origin server sends an Expires date that is equal to the Date header value.

You should set the expires header to a date in the past. And you should also set the must-revalidate flag on the Cache-Control header.

Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-control: no-cache, must-revalidate

You can find a good article dealing with caching issues on the doctype wiki:

Setting an Expires header in the past ensures that HTTP/1.0 and
HTTP/1.1 proxies and browsers will not cache the content. The
Cache-control directive also tells HTTP/1.1 proxies not to cache the
content. Even if proxies may be configured to return stale content
when they should not, the must-revalidate re-affirms that they SHOULD
NOT do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文