加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com.cn/)- 云通信、区块链、物联平台、操作系统、高性能计算!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

Web缓存控制策略

发布时间:2021-05-04 14:31:03 所属栏目:传媒 来源:互联网
导读:eb缓存的最常用和最有效的方法之一是通过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着我们页面上的所有内容都可以具有非常精细化的缓存策略。通过各种自定义策略,我们控制的策略就可以变得非常复杂和强大。 Cache-Control标头可能如下

eb缓存的最常用和最有效的方法之一是通过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着我们页面上的所有内容都可以具有非常精细化的缓存策略。通过各种自定义策略,我们控制的策略就可以变得非常复杂和强大。

Cache-Control标头可能如下所示:lic和private缓存

public意味着任何缓存都可以存储响应的副本,其中就包括CDN、代理服务器等。public指令通常是多余的,因为其他指令(比如max-age)的存在是隐式指令,缓存可能会存储一个副本。

另一方面,private是一个显式指令,只有响应的最终接收者(客户端或浏览器)才可以存储该文件的副本。虽然private本身不是具有安全功能,但是它的目的是防止public缓存(例如CDN)存储包含一个用户唯一信息的响应。

max-age

max-age定义了一个以秒为单位的时间单位(相对ache-Control标头会告诉浏览器,它可以在接下来的60秒内使用缓存中的此文件,而不必担心重新被验证。 不过60秒后,浏览器将返回服务器以重新验证文件。

如果服务器有一个新文件供浏览器下载,它将以200响应进行响应,下载新文件后,旧文件将从HTTP缓存中弹出,新文件将替换它,并将成为新的缓存标头。

如果服务器没有需要下载的更新副本,则服务器将以200响应进行响应,不需要下载任何新文件,并将使用新的标头更新缓存副本。这意味着,如果仍然存在Cache-Control:max-age = 60标头,则缓存文件在60秒后将再次启动。算下来,一个文件的总缓存时间为120秒。

注意:max-age会有自动警告的属性,如果浏览器过于陈旧,则max-age会提醒用户,但用户可以选择忽略此警告。浏览器可能会使用自己的试探法来决定是否在不重新验证文件的情况下发布文件的陈旧副本。这种行为有些不确定,所以很难确切地知道浏览器将实际做什么。为此,我们有一系列显式指令,可以用它们来扩充max-age。

s-maxage

s-maxage将优先于max-age指令,但仅限在共享缓存的上下文中使用。将max-age和s-maxage结合使用,你可以分别为private和public缓存(例如代理、CDN)提供不同的启动时间。

们不想缓存文件怎么办?如果文件包含敏感信息怎么办?也许这是一个包含银行详细信息的HTML页面?或许这些信息对时间至关重要?也许是一个包含实时股票价格的页面?其实我们并不想在缓存中存储或提供任何类似的响应:我们总是希望丢弃敏感信息并获取***的实时信息。这时,我们就要用到no-store指令。

no-store是一个非常强大的指令,不会将任何信息保存到任何缓存中,无论是private或其他缓存。

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读