html cache-control=no-cache 更改为 cache-control=max-age=0
html cache-control=no-cache changes to cache-control=max-age=0
我构建了一个简单的页面来测试缓存控制,但我对结果感到困惑。
该页面只是
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Website teste</title>
<meta http-equiv="cache-control" content="no-cache">
</head>
<body>
<div>Hello World</div>
<script>
setTimeout(function () {
window.location.reload()
}, 10000)
</script>
</body>
</html>
如果我进行硬刷新,缓存控制就是预期的
但下一次刷新缓存控制更改为 max-age=0
并且结果不应该是 304(未修改)而不是 200(正常)
此示例站点 运行 在 VisualStudio (IIS) 上
meta
元素的 http-equiv
属性在 HTML standard 中定义。注意:
The http-equiv
attribute is an enumerated attribute. The following table lists the keywords defined for this attribute...
cache-control
不是列出的值之一,因此该指令无效。
不过,您的假设并非不合理;在标准 it was suggested 的早期版本中,服务器可以基于此元素创建 header:
HTTP servers may read the content of the document <HEAD>
to generate
header fields corresponding to any elements defining a value for the
attribute HTTP-EQUIV
. NOTE - The method by which the server extracts document meta-information is unspecified and not mandatory.
不过,我不知道是否有服务器真的这样做了。
最后,请注意,您在开发者工具中看到的 Cache-Control
header 是 request header,而不是响应 header,因此与此无关。这是浏览器经常在刷新请求中添加的内容,以确保它们不会获得缓存内容。
我构建了一个简单的页面来测试缓存控制,但我对结果感到困惑。 该页面只是
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Website teste</title>
<meta http-equiv="cache-control" content="no-cache">
</head>
<body>
<div>Hello World</div>
<script>
setTimeout(function () {
window.location.reload()
}, 10000)
</script>
</body>
</html>
如果我进行硬刷新,缓存控制就是预期的
但下一次刷新缓存控制更改为 max-age=0
并且结果不应该是 304(未修改)而不是 200(正常)
此示例站点 运行 在 VisualStudio (IIS) 上
meta
元素的 http-equiv
属性在 HTML standard 中定义。注意:
The
http-equiv
attribute is an enumerated attribute. The following table lists the keywords defined for this attribute...
cache-control
不是列出的值之一,因此该指令无效。
不过,您的假设并非不合理;在标准 it was suggested 的早期版本中,服务器可以基于此元素创建 header:
HTTP servers may read the content of the document
<HEAD>
to generate header fields corresponding to any elements defining a value for the attributeHTTP-EQUIV
. NOTE - The method by which the server extracts document meta-information is unspecified and not mandatory.
不过,我不知道是否有服务器真的这样做了。
最后,请注意,您在开发者工具中看到的 Cache-Control
header 是 request header,而不是响应 header,因此与此无关。这是浏览器经常在刷新请求中添加的内容,以确保它们不会获得缓存内容。