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

为什么在请求头(客户端到服务器)中发送缓存控制属性?

令狐辉
2023-03-14

在阅读了HTTP头的缓存控制字段之后,

我知道HTTP响应头(服务器到客户端)中的缓存控制字段指定了中间代理服务器/客户端浏览器如何处理响应的指令,方法是为缓存控制字段发送不同的值:私有公共无缓存,或无存储

但我不明白为什么我们需要将缓存控制作为请求头(客户端到服务器)发送?

共有3个答案

钱凌
2023-03-14

除了上面的答案之外,
可能还有一个实现缓存链接的设置。在这种情况下,如果请求到达第一个未满足的缓存,它可能会进入进一步的链式缓存。

因此,为了始终从服务器获取响应,我们在请求标头中包含缓存控制。这将确保响应始终来自服务器。

酆奇文
2023-03-14

客户端可以在请求中发送缓存控制头,以便从原始服务器和请求路径上的任何中间代理服务器请求特定的缓存行为,例如重新验证。

宋景福
2023-03-14

缓存控制:请求头(从web浏览器发送到服务器)中通常使用无缓存来强制验证中间代理中的资源。如果客户端未向服务器发送此请求,中间代理将返回内容的副本(如果内容是新的(根据Expiremax age字段未过期)<代码>缓存控制指示这些代理重新验证副本,即使副本是新的。

 类似资料:
  • 在JAX-RS(RestEasy)中,我希望实现一个客户机过滤器,在发送请求之前修改头,这样我就不会对每个调用都手动执行此操作。 目前,我正在接收端执行此操作,以便在到达资源之前拦截请求。

  • 我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s

  • 我们已经配置nginx服务器添加缓存控制头到公共和到期时间到1个月。但是当我们从浏览器发出请求时,客户端正在添加缓存控制:无缓存头。正因为如此,它每次都是新鲜下载内容,而不是提供缓存版本。 我怎样才能缓存静态文件? 如果我从终端触发请求,服务器添加的缓存控制标头在响应标头中可见。

  • 为什么每个站点都解释说在SSE中,客户端和服务器之间的单个连接保持打开状态“使用SSE,客户端发送标准HTTP请求请求事件流,服务器最初以标准HTTP响应响应并保持连接打开” 然后,当服务器决定可以向客户端发送数据,而我试图实现SSE时,每隔几秒钟就会看到fiddler请求被发送 对我来说,这感觉就像是长时间的投票,没有一个连接保持打开。 此外,并不是服务器决定向客户机发送数据,而是只有在客户机发

  • 我试图实现一个tcp客户端,它将使用spring Integration连接到现有的服务器。对于这项技术还是新手,我已经在https://github.com/spring-projects/spring-integration-samples上学习了spring示例。 主要方法: 如何强制此客户端连接到我的服务器,即使我不想发送数据?

  • 我正在寻找一些关于如何实现一个能够将音频发送到服务器的Java客户端的链接/源代码/教程(见下文)。它将能够发送一个音频文件,然后由服务器接收并通过计算机扬声器播放。 我还想问,对于这种情况,使用UDP或TCP服务器会更好吗?因为我将开发一个android应用程序,它可以录制声音,然后通过电脑扬声器将声音发送到服务器进行实时播放。