gpt4 book ai didi

html - 在 http header 响应或 html 元标记中设置缓存控制有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 08:19:44 26 4
gpt4 key购买 nike

这是一个 html 元标记示例:

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="private">

它在 html 元标记上设置以启用缓存。

我用 Tomcat 和 Firebig 试过了。服务器发送 html 元标记中的信息。但是在http头响应中没有关于缓存的信息。

然而,HTTP header 响应中的类似内容是有效的:

Cache-Control: private

所以我想知道:http响应中的信息是什么时候写的?

设置相同信息(元标记和 http 响应行)的两种方式有何必要?

最佳答案

来自 the HTML 4.01 spec

The META element

http-equiv = name [CI]

This attribute may be used in place of the name attribute. HTTP servers use this attribute to gather information for HTTP response message headers.

就是这个主意。服务器的工作是将元元素转换为真正的 HTTP header ,它们通过网络发送它。

但这意味着服务器必须在发送每个 HTML 文档之前对其进行解析,因此这几乎从未发生过。

浏览器尽其所能地拾取这些片段,但缓存规则也适用于代理,并且它们只会处理真正的 HTTP header ,因此缓存控制 http-equiv 元元素在 HTML5 中无效。

您应该始终使用真正的 HTTP header ,这些 header 要么由服务器作为其配置的一部分添加,要么在服务器端代码中添加(即,用 PHP、Java servlet、ASP.NET 等编写的代码)

关于html - 在 http header 响应或 html 元标记中设置缓存控制有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15978247/

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