gpt4 book ai didi

java - 在HttpServletResponse 和Html 标签中设置header 是一样的吗?

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

HttpServletResponse , 调用 setHeader()方法和我们在html中设置值一样<head>标签?

Java 代码:

response.setHeader("Pragma", "no-cache");

response.setIntHeader("Expires", -1);

HTML:

<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>

它们是一样的吗?

最佳答案

没有。

与 HTML 文档中的 META 标记不同,由 HttpServletResponse 方法设置的 HTTP 响应 header 可以由客户端和服务器之间存在的网络中的任何节点解释和执行。通常这些是代理,它们不会理会 HTML 文档的内容。这些元素可以作用于这些 header 的原因是 HTTP 响应 header 不仅适用于客户端(浏览器),而且适用于任何中介; HTTP 规范允许中介解释 header 。

如果您希望网络中的所有元素都服从您打算设置的缓存 header (在 HTML 文档中),则指定 HTTP 响应 header (使用 HttpServletResponse 对象)。所有中介机构都应遵守这些 header 。

只有浏览器倾向于对 META 标签进行操作,因为只有它们解析 HTML 文档;换句话说,META 标签将决定浏览器本地缓存的文档过期设置,而不是代理缓存的过期设置。

相关资源

  1. Caching Tutorial for Web Authors and Webmasters .请参阅有关 HTML Meta Tags vs. HTTP Headers 的部分.
  2. Caching in HTTP .直接来自 HTTP 1.1 规范。客户端、原始服务器和中介的行为在此处指定。
  3. Meta data in the HTML 4.01 Specification . HTML 规范非常明显地声明 HTTP 服务器可以使用由 http-equiv 属性指定的属性名称在 HTTP 响应中创建 [RFC822] 样式的 header 。服务器似乎不遵守此规定,因为“可能”一词表明这是一项可选功能。

关于java - 在HttpServletResponse 和Html <head> 标签中设置header 是一样的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6304238/

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