这是一个html metatag示例:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="private">
在html metatag上设置以启用缓存。
我用Tomcat和Firebig尝试过。服务器在html metatag中发送信息。但是在http标头响应中没有关于缓存的信息。
然而,http标头响应中的类似内容是有效的:
Cache-Control: private
所以我想知道:当信息写在http响应中时?
需要两种方法来设置相同的信息(metatag和http响应行)?
答案 0 :(得分:4)
META元素
http-equiv = name [CI]
可以使用此属性代替name属性。 HTTP服务器使用此属性收集HTTP响应的信息 邮件标题。
这就是主意。服务器的工作是将元元素转换为真正的HTTP头,之后通过网络发送它。
但这意味着服务器必须在发送之前解析每个HTML文档,因此实际上从未发生过。
浏览器尽可能地拾取这些碎片,但缓存规则也适用于代理,而这些只会处理真正的HTTP头,因此缓存控制http-equiv元素在HTML5中无效。
您应该始终使用真正的HTTP标头,这些标头由服务器作为其配置的一部分添加,或者在服务器端代码中添加(即,用PHP,Java servlet,ASP.NET等编写的代码)。