标签: cache-control

改造 - Okhttp客户端如何缓存响应

我正在尝试缓存由Retrofit(v 1.9.0)和OkHttp(2.3.0)完成的http调用的响应.如果我尝试在没有互联网的情况下拨打电话,它总是会拨打网络电话java.net.UnknownHostException.

RESTClient实现

public class RestClient {
public static final String BASE_URL = "http://something.example.net/JSONService";
private com.ucc.application.rest.ApiService apiService;

public RestClient() {
    Gson gson = new GsonBuilder()
            .setDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS'Z'")
            .create();

    RequestInterceptor requestInterceptor = new RequestInterceptor() {

        @Override
        public void intercept(RequestFacade request) {
            request.addHeader("Accept", "application/json");
            int maxAge = 60 * 60;
            request.addHeader("Cache-Control", "public, max-age=" + maxAge);
        }
    };

    RestAdapter restAdapter = new RestAdapter.Builder()
            .setLogLevel(RestAdapter.LogLevel.FULL)
            .setEndpoint(BASE_URL)
            .setClient(new OkClient(OkHttpSingleTonClass.getOkHttpClient()))
            .setConverter(new GsonConverter(gson))
            .setRequestInterceptor(requestInterceptor)
            .build();

    apiService = restAdapter.create(com.ucc.application.rest.ApiService.class);
}

public com.ucc.application.rest.ApiService getApiService() {
    return apiService;
} …
Run Code Online (Sandbox Code Playgroud)

java android cache-control retrofit okhttp

20
推荐指数
1
解决办法
2万
查看次数

使用ASP.NET清除缓存的最有效方法

我正在构建一个ASP.NET /Umbraco驱动的网站,它是通过实体框架驱动的非常自定义的数据,我们不得不缓存相当多的数据查询(例如按关键字搜索),因为它是一个繁忙的网站.

但是当用户创建新的数据条目时,我需要清除所有缓存的查询(搜索等..),以便结果中可以使用新条目.

所以在我的创建,删除和更新方法中,我调用以下方法:

public static void ClearCacheItems()
{
    var enumerator = HttpContext.Current.Cache.GetEnumerator();

    while (enumerator.MoveNext())
    {
        HttpContext.Current.Cache.Remove(enumerator.Key.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

这真的很糟糕吗?我看不出我应该如何清除缓存的项目?

c# asp.net caching entity-framework cache-control

19
推荐指数
3
解决办法
3万
查看次数

HTML - 缓存控制最大年龄

我想向用户提供最新的网站内容,但也要快速加载.通过研究,我发现人们建议使用缓存来加速加载.

那么我需要在3天后添加到我的网站"覆盖"缓存以显示最新内容?

html cache-control

19
推荐指数
2
解决办法
5万
查看次数

发布新的 Vue 应用程序版本时如何强制清除 chrome 中的缓存

我创建了一个应用程序,vue-cli然后我构建了dist用于生产的文件夹。

该应用程序IIS使用 Flask 后端部署并且运行良好。

当我必须进行一些更改并且必须重做部署时,就会出现问题。在此之后,用户打电话给我,因为应用程序不起作用,但如果我清除了 chrome 缓存,应用程序又可以正常工作了。

我该如何解决这个问题?当我发布新的应用程序版本时,是否有自动清除 Chrome 缓存的方法?

谢谢

我的 dist 文件夹

在此处输入图片说明

部署:在 IIS 上复制和粘贴文件夹 dist

如果 dist 文件夹中的文件正确,可能问题出在 axios 缓存中?我也做了一些改变来休息 apis

caching cache-control browser-cache vue.js vuejs2

19
推荐指数
3
解决办法
3万
查看次数

获取Asp.net/iis设置Cache-control:静态文件的max-age

我们有一个带url路由的Webforms项目.我已经为图像和css文件定义了异常路由

routes.Add("IgnoreImages", new Route("img/{*pathInfo}", new StopRoutingHandler()));
routes.Add("IgnoreCss", new Route("css/{*pathInfo}", new StopRoutingHandler()));
Run Code Online (Sandbox Code Playgroud)

所以静态文件应该由IIS直接提供,并且应该绕过路由.

使用Fiddler检查图像的响应时,Cache标题下的唯一键是Date.缺少的是Cache-control:max:age键.如何为静态文件指定缓存策略?该应用程序在IIS7.5上运行.

asp.net caching image cache-control

18
推荐指数
2
解决办法
2万
查看次数

部署后强制缓存刷新

如果您无法更改引用该文件的URI(例如,无法添加时间戳参数),是否有办法强制客户端缓存重新加载HTML文件?

这是我的情况:

  • 一个插件部署到1000个用户
  • 该插件加载了example.com/page.html哪些调用script.js
  • 资源URI example.com/page.html无法更改(无插件更新)
  • page.html已经变了.我需要page.html从用户的缓存中清除旧的,以便新的page.html可以加载.

有任何想法吗?htaccess的?旧的和新的page.html呼叫的PHP API ?

谢谢!

php .htaccess uri cache-control

18
推荐指数
1
解决办法
5万
查看次数

Flask静态文件Cache-Control

我正在尝试在开发过程中为我的JS文件设置合理的缓存过期.我有标准设置,HTML,CSS和JS都在static目录下.

文档也提到这一点,但我的生活,我不能得到这个工作.我先尝试过隐含的两种方法

class MyFlask(flask.Flask):
    def get_send_file_max_age(self, name):
        if name.lower().endswith('.js'):
            return 60
        return flask.Flask.get_send_file_max_age(self, name)

app = MyFlask(__name__)
Run Code Online (Sandbox Code Playgroud)

app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 60
Run Code Online (Sandbox Code Playgroud)

两者都没有效果,我在/ static下的JS文件仍然会返回默认的缓存超时,

Cache-Control: public, max-age=43200
Run Code Online (Sandbox Code Playgroud)

任何指针赞赏.

python cache-control static-files flask

18
推荐指数
1
解决办法
1万
查看次数

Java Web Start - 如何清除缓存(或从用户的角度更新应用程序)

在浏览器中下载JNLP后,它会被缓存,因此不需要再次下载,这很好.但是,因此,如果我更新JNLP使用的JAR,用户仍将看到缓存中的旧版本应用程序.

您可以通过在终端中运行它来清除缓存:

javaws -uninstall
Run Code Online (Sandbox Code Playgroud)

但很明显,当您的更新准备就绪时,用户无法运行此命令.它应该比这更无缝.

一个想法是更改jnlp文件名,以便下载新文件,如MyJWS-01.jnlp,以包含版本号.

还有其他方法吗?

java jnlp cache-control java-web-start

17
推荐指数
1
解决办法
2万
查看次数

代理缓存 - cookie怎么样?

我阅读了http://code.google.com/speed/page-speed/docs/caching.html.它说代理服务器可以缓存cookie.我需要澄清一下.


假设我的文件有这个标题:Cache-Control "max-age=604800, public"
Q.1.使用此标头,当访问静态文件时,来自个人计算机的cookie是否会缓存在代理服务器上?(然后,下一个访问该文件的人会拿起另一个人的饼干吗?)


现在,让我们说缓存代码就像Cache-Control "max-age=7200, proxy-revalidate".
Q.2.就代理服务器上的cookie缓存而言,有什么区别?


现在我对实际设置 cookie的文件(例如Javascript或PHP)有疑问.
Q.3.访问这些类型的文件时,cookie是否会缓存在代理服务器上?或者缓存与静态文件相同?


如果你想知道,我问这些事情的原因是因为我没有一个人的cookie被代理缓存,因此转移到另一个人.所以任何澄清都会有所帮助.非常感谢!


编辑:
非常感谢您的帮助.但我还需要一点澄清.

如果我有使用标题的文件Cache-Control "max-age=604800, public",是否会将任何请求cookie(Cookie)或响应cookie(Set-Cookie)转移到另一个用户的计算机(因为它在缓存中)?或者它是否针对该用户的浏览进行缓存?如果设置是Cache-Control "max-age=7200, proxy-revalidate"什么?再次感谢.

proxy caching header http cache-control

17
推荐指数
1
解决办法
2万
查看次数

在Javascript中缓存Ajax响应的可能技术有哪些?

我正在实现一个Javascript模块管理器,通过XHR对象加载javascript文件.这种方法的问题是资源缓存:

  • 首先,XHR依靠内置的浏览器缓存机制,但是它的行为取决于浏览器的实现.
  • 也有一个localStorage,有一个basket.js它使用localStorage缓存下载的脚本,问题是存储大小限制通常是5-10MB.此外,localStorage是许多脚本的共享位置,它们也使用它来存储数据.
  • 而且还有一个Cache的接口ServiceWorkerAPI,但它只能在可ServiceWorker运行,因此怀疑地适合我的需要.

有谁知道他在他的项目中使用的一些聪明的旧的或新的javascript缓存技术,或者听说过?

注意:请不要建议使用.ajax作为接口的jQuery XHR,或者实现内置Javascript功能接口的任何其他库.

编辑:有一些有价值的建议:

  • 使用名为localForage的库.该库代表了IndexedDB,WebSQL和localStorage的统一API,其中一个依赖于浏览器.
  • 使用IndexedDB,它是真正强大的存储空间,没有明显的空间限制.唯一的问题是只有现代浏览器才能实现IndexedDB.

javascript ajax caching cache-control browser-cache

16
推荐指数
1
解决办法
5914
查看次数