gpt4 book ai didi

java - cachingHttpclient 不能忽略 header "Cache-Control: no-cache"

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:30:29 24 4
gpt4 key购买 nike

我正在使用 Apache cachingHttpClient 从 Java 代码查询 REST API。

尽管收到导致 cachingHttpClient 不缓存文件的“Cache-Control: no-cache” header ,我还是想缓存一些 http 响应。

使用独立的 http 代理,例如 squid、mod_cache...,我可以调整配置以忽略这些 header 并覆盖默认行为。

我宁愿不选择独立的 http 代理,而是选择 100% 的 java 代码。

  1. 是否有另一个 http 客户端可以提供对缓存的更多控制?
  2. 我可以实现一个中间层/代理来重写 header 吗?
  3. 我可以通过继承来修补 cachingHttpClient 吗?

最佳答案

请求被 canCachedResponseBeUsed 方法中的 CachedResponseSuitabilityChecker 拒绝。如果你需要不同的行为,那就是实现你自己的版本的类,然后使用长构造函数 cachingHttpClient

CachingHttpClient(HttpClient backend, 
CacheValidityPolicy validityPolicy,
ResponseCachingPolicy responseCachingPolicy,
HttpCache responseCache,
CachedHttpResponseGenerator responseGenerator,
CacheableRequestPolicy cacheableRequestPolicy,
CachedResponseSuitabilityChecker suitabilityChecker,
ConditionalRequestBuilder conditionalRequestBuilder,
ResponseProtocolCompliance responseCompliance,
RequestProtocolCompliance requestCompliance)

关于java - cachingHttpclient 不能忽略 header "Cache-Control: no-cache",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14824916/

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