当前位置: 首页 > 知识库问答 >
问题:

cache-control标头是否由浏览器自身更改?

丁均
2023-03-14

在我的servlet过滤器中,我设置了以下响应标头以启用一些资源的缓存:

所以,您能解释一下为什么或者如何在我的servlet过滤器(在JBoss AS 7上部署的JSF/PrimeFaces应用程序中)中设置的值作为http响应标头在chrome中未被修改,但在firefox和IE中却发生了变化。我自己没有编写任何可能覆盖这个头的javascript。实际上,我试图为所有提到的三个浏览器启用“相同”的缓存策略。

你好,罗纳德·伍特斯。

共有1个答案

缑嘉玉
2023-03-14

回答我自己的问题:
这个问题与响应头完全无关。我的应用程序中的所有JSF资源都有follwing url布局:

https://myserver/myapp/javax.faces.resource/jquery/jquery.js.xhtml?ln=primeFaces&v=5.2

注意jquery.js后面的xhtml后缀吗?
我想它是由jsf运行时自动添加的。

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>All pages</web-resource-name>
      <description>Protects all resources</description>
      <url-pattern>*.xhtml</url-pattern>
    </web-resource-collection>
  </security-constraint>

我仍然想要解释为什么安全约束会干扰或改变jsf资源缓存的行为。有人能给我解释一下吗?

你好,罗纳德·沃特斯

 类似资料:
  • Spring MVC提供了许多方式来配置"Cache-Control"请求头,支持在许多场景下使用它。关于该请求头完整详尽的所有用法,你可以参考RFC 7234的第5.2.2小节,这里我们只讲解最常用的几种用法。 Spring MVC的许多API中都使用了这样的惯例配置:setCachePeriod(int seconds),若返回值为: -1,则框架不会生成一个'Cache-Control'缓存

  • 问题内容: 目前,我正在查看Selenium Server,但似乎没有注意到支持无头浏览器测试的驱动程序。 除非我弄错了,否则它不支持。如果您使用的是X,则可以创建一个虚拟的帧缓冲区来隐藏浏览器窗口,但这并不是真正的无头浏览器。 谁能启发我?Selenium是否支持无头浏览器测试? 问题答案: 您无需使用PhantomJS替代Selenium。Selenium包括一个在GhostDriver平台上

  • 我使用的是Apache camel 2.15.1版本。在本文中,我将servlet组件用于rest dsl。我的简单路线如下所示 我需要设置Cache-Control和Pragma头以进行响应。 但是骆驼忽略了这一点。我看了几个其他人的博客,建议使用自定义的HeaderFilterStrategy。我也尝试过这个。没有帮助。 https://access.redhat.com/documentat

  • 问题内容: 为了澄清当我询问浏览器到浏览器的通信时,我的意思是在转发消息之间没有服务器。我想为游戏实现这样的功能。如果无法在websockets中使用p2p,是否有类似的选择?任何帮助表示赞赏。 问题答案: 否。浏览器只能启动WebSockets连接,不能接收它们。在W3C的浏览器API规范只定义了如何启动出站连接。 您可以创建一个既可以启动也可以接受WebSockets连接的应用程序,但是浏览器

  • Cache-Control通用头字段用于指定在两个,请求和响应的缓存机制的指令。缓存指令是单向的,这意味着请求中的给定指令并不意味着将在响应中给出相同的指令。 Header type General header Forbidden header name no CORS-safelisted response-header yes 语法 这些指令不区分大小写,并且有一个可选参数,可以同时使用令牌

  • 我用的是Chrome40(所以一些漂亮和现代的东西)。 在所有页面上都设置了no-cache-所以我希望浏览器只在首先检查服务器并得到响应时才使用其缓存中的某些内容。 然而,在按下后退按钮时,浏览器会愉快地点击自己的缓存,而无需与服务器进行检查。 我认为我可以使用作为的一个轻量级替代方案,在这里我不希望用户通过后退按钮看到陈旧的数据(但是数据是无价值的,因此可以缓存)。 我对的理解是浏览器必须始终