<meta http-equiv=”pragma” content=”no-cache”>
<meta http-equiv=”cache-control” content=”no-cache”>
<meta http-equiv=”expires” content=”0”>
<meta http-equiv=”pragma” content=”no-cache”>
<meta http-equiv=”cache-control” content=”no-cache”>
<meta http-equiv=”expires” content=”0”>
这段代码片段是在 HTML 文档中使用的 meta 标签,它们共同的目标是阻止浏览器缓存网页内容。具体解释如下:
<meta http-equiv=”pragma” content=”no-cache”>
:
*meta
标签用于提供有关 HTML 文档的元数据。
*http-equiv
属性相当于 HTTP 头部,允许网页控制浏览器的行为。
*pragma
指令主要用于旧版本的 HTTP/1.0 协议。content=”no-cache”
告诉浏览器不要缓存这个页面。 虽然现在不太常用,但为了兼容性,仍然会被保留。<meta http-equiv=”cache-control” content=”no-cache”>
:
*http-equiv=”cache-control”
使用Cache-Control
HTTP 头部来控制缓存。
*content=”no-cache”
指示浏览器在每次使用缓存的副本之前,都必须先向服务器验证该缓存副本是否仍然有效。这意味着浏览器仍然可以缓存网页,但每次都必须检查服务器是否有更新。 更严格地来说,no-cache
意味着允许缓存,但每次都必须验证。 如果想要完全禁止缓存,通常会使用content="no-store"
。<meta http-equiv=”expires” content=”0”>
:
*http-equiv=”expires”
使用Expires
HTTP 头部来指定网页的过期时间。
*content=”0”
将过期时间设置为 1970 年 1 月 1 日 (UTC),这是一个很久之前的日期,实际上就是让浏览器认为这个页面已经过期了,因此应该立即重新从服务器请求。
总而言之,这三个标签一起使用,形成了一种较为全面的策略来防止浏览器缓存网页。 虽然 Cache-Control
是现代浏览器推荐的方式,但为了兼容性,pragma
和 expires
也常被一并使用。 目的是确保用户每次访问页面时都能获取到最新的版本,避免显示过期的内容。 这在需要动态更新内容的网页中尤为重要。