gpt4 book ai didi

http - 不同类型资源的理想 HTTP 缓存控制 header

转载 作者:可可西里 更新时间:2023-11-01 15:03:33 24 4
gpt4 key购买 nike

我想找到一组最小的 header ,它适用于“所有”缓存和浏览器(在使用 HTTPS 时也是如此!)

在我的网站上,我将拥有三种资源:

(1) 永远可缓存(对所有用户公开/平等)

示例:0A470E87CC58EE133616F402B5DDFE1C.cache.html ( auto generated by GWT )

  • 这些文件在更改内容时会自动分配一个新名称(基于 MD5)。

  • 它们应该尽可能多地缓存,即使在使用 HTTPS 时也是如此(所以我假设,我应该设置 Cache-Control: public,尤其是对于 Firefox?)

  • 如果内容已更改,他们不应要求客户端往返服务器进行验证。

(2) 偶尔改变(公开/对所有用户平等)

示例:index.html、mymodule.nocache.js

  • 部署新版本的网站时,这些文件会更改其内容而不更改 URL。

  • 它们可以被缓存,但可能需要每次都重新验证一次往返。

(3) 每个请求的个人(私有(private)/用户特定)

示例:JSON 响应

  • 在任何情况下都不应将这些资源未加密地缓存到磁盘。 (除非我有一些可以缓存的特定请求。)

对于每种类型我可能会使用哪些 header ,我有一个大概的想法,但总有一些我可能会遗漏的东西。

最佳答案

我可能会使用这些设置:

  1. Cache-Control: max-age=31556926 – 表示可以被任何缓存缓存。缓存的表示被认为是新鲜的 1 年:

    To mark a response as "never expires," an origin server sends an Expires date approximately one year from the time the response is sent. HTTP/1.1 servers SHOULD NOT send Expires dates more than one year in the future.

  2. Cache-Control: no-cache – 表示允许被任何缓存缓存。但是缓存必须在释放缓存副本之前将请求提交给源服务器进行验证。
  3. Cache-Control: no-store – 缓存在任何情况下都不得缓存表示。

参见 Mark Nottingham’s Caching Tutorial了解更多信息。

关于http - 不同类型资源的理想 HTTP 缓存控制 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com