问题标签 [nsurlrequestcachepolicy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1777 浏览

swift - NSURLRequestCachePolicy.UserProtocolCachPolicy 要求

我正在使用以下代码进行缓存,从服务器收到的响应具有以下标头。是否需要从请求端设置任何标头,以使缓存工作 10 秒。

Connection Received Resopnse Headers= [Date: Sat, 12 Sep 2015 22:51:16 GMT, Transfer-Encoding: Identity, Server: Apache-Coyote/1.1, Content-Type: application/json;charset=UTF-8, Expires: 2015 年 9 月 12 日星期六 22:51:26 GMT,缓存控制:max-age=10,必须重新验证]

没有缓存的强大代码。

从标头中删除 must-revalidate 后,它仍在获取请求。

Connection Received Resopnse Headers= [Cache-Control: max-age=10, Transfer-Encoding: Identity, Date: Sun, 13 Sep 2015 18:35:43 GMT, Content-Type: application/json;charset=UTF-8,服务器:Apache-Coyote/1.1,到期时间:星期日,2015 年 9 月 13 日 18:35:53 GMT]

后来的发现表明 POST 请求确实被缓存了,但不像 GET 那样工作,其中考虑了 max-age。

0 投票
1 回答
244 浏览

ios - AFNetworking:已创建 Cache.db 但缓存控制→服务器响应中的无缓存

在我的 iOS 应用程序中,我使用AFNetworking库向服务器发送 POST 请求。服务器响应标头包含cache-control → no-cache. 在我的自定义AFHTTPSessionManager子类中,我没有明确设置NSURLRequestCachePolicy,所以我认为使用了默认值NSURLRequestUseProtocolCachePolicy。苹果文档NSURLRequestUseProtocolCachePolicy说:

指定协议实现中定义的缓存逻辑(如果有)用于特定的 URL 加载请求。这是 URL 加载请求的默认策略。该政策将在下面的讨论中进一步描述。

就我而言,缓存逻辑是cache-control → no-cache如此我不明白为什么我将Cache.db存储在我的应用程序的 iOS 模拟器 Library Caches 文件夹中。

任何人都可以帮助我理解吗?

0 投票
1 回答
218 浏览

swift - NSMutableURLRequest 的配置,cachePolicy 总是 ReloadIgnoringLocalAndRemoteCacheData

在我的项目中,我正在使用 NSMutableURLRequest。有时会因为缓存而出错。

所以我做了

这工作正常。现在我不想为每个 NSMutableURLRequest 设置 cachePolicy。是否有可能为 cachePolicy 设置标准配置?

对于 UI 元素,我也可以在 Appdelegate 中为整个项目设置配置。

像这样:

也许cachePolicy有类似的解决方案?(我还找不到)

0 投票
0 回答
55 浏览

ios - NSURLSession 在上传期间转换图像

我正在将图像上传到我的服务器,同时 JPG 图像被转换,并且转换后的图像将不再可读。

尝试设置HTTP“ Cache-Control”,但没有效果。

知道如何防止转换吗?

附上前后图像数据的外观。

在此处输入图像描述

0 投票
2 回答
1056 浏览

ios - NSURLRequestReloadIgnoringLocalCacheData 不起作用

我的代码看起来像

我的其他部分不起作用。为什么我UIWebView没有忽略我的本地缓存?

每次我访问测试站点时,我的应用程序都不会从原始源加载。他只加载 index.html 但链接的图像只在第一次访问时加载。

我的问题是什么?

0 投票
2 回答
388 浏览

ios - 缓存在 UIWebView 中不起作用

我有一个网站也可以离线使用。我创建了一个应用程序,UIWebView我说我UIWebView应该使用以下代码缓存该站点

如果我第一次使用互联网连接启动我的应用程序,我会console登录

我看到文件中调用了每个方法AppDelegate.m。我断开手机与互联网的连接,再次启动我的应用程序(不像我console所说的那样在后台),但没有任何反应。我只得到一个白色的网站。

为什么website虽然我设置它不会显示在我的屏幕上cache

0 投票
1 回答
4758 浏览

ios - 如何在应用程序处于离线状态时使用 Alamofire 获取缓存响应?

在我response通过 Alamofire 获得后,在某些情况下,自己实现数据库或管理本地存储(文件等)可能有点矫枉过正

我知道 Alamofire'srequestCachePolicy并且它已经在缓存响应(基于cache-control's max-age,但这更多地与减少请求数量/改善在线体验有关。

但是当我没有通过 Alamofire 可用的连接时,是否可以使用缓存的响应? (Alamofire 是否提供某种方便的方法来处理这个问题)

0 投票
1 回答
70 浏览

ios - (iOS 错误?)NSURLRequest 缓存的授权通过不正确的凭据

我想知道NSURLRequestwith .returnCacheDataElseLoad/ .returnCacheDataDontLoadcache 策略会忽略基本授权。所以下面的场景不能正常工作:

  • 在向服务器请求之前设置 URL 缓存策略以使用本地缓存
  • 使用良好的凭据提出新请求并收到成功响应
  • 切换到离线
  • 使用以前的 URL 发出请求,但授权凭据不正确
  • 观察使用不正确凭据的第二个请求是否成功

总的来说,如果应用程序中的离线模式是通过 iOS 系统缓存实现的,则此错误允许任何人登录。

有人熟悉这个问题吗?它至少发生在 iOS 10 上。我正在寻找如何以温和的方式修复它。

0 投票
1 回答
281 浏览

ios - 删除并重新安装 iOS 应用程序后网络缓存是否保留

我有一个 iOS 应用程序,它使用带有默认 cachePolicy 的 URLRequest 来获取网络资源。我想知道是否:

  1. 从我的设备中删除应用程序时,是否也会删除所有缓存的响应?还是他们留在设备中的某个地方?(直到它们过期)
  2. 如果是,如果我在该设备中再次安装该应用程序,当我启动该应用程序时,它将获取存储在 iOS 设备中的缓存响应,而不是从后端获取原始资源(当然,如果响应仍然有效)?

以下是 Apple 解释的默认缓存策略的行为:

谢谢。

在此处输入图像描述

0 投票
0 回答
806 浏览

swift - 如何配置 URLSessionConfiguration 使缓存数据仅持续 5 分钟(后端不处理过期时间)

我想缓存从我的 API 请求中收到的数据。

更准确地说,我希望缓存数据的最长生命周期为 5 到 10 分钟。

事实上,我正在开发一个天气应用程序,我不需要数据库,只是为了能够重用以前请求中的数据。

例如 :

  • 用户请求纽约的预测数据
  • 用户请求伦敦的预测数据

现在,如果用户再次请求纽约,我想重用之前请求中的数据。天气数据在后端每 15 分钟更新一次(这就是为什么 5 分钟缓存就足够了,天气应用程序中的导航不会持续那么久)。

这是我目前拥有的:

这里的问题是,例如,如果我请求纽约的天气数据,并将城市添加到我最喜欢的城市中。然后,如果我在 2 天内从未启动我的应用程序,我将加载 2 天前的缓存数据。

我想配置我的 URLSessionConfiguration 的过期时间。

注意:我所有的模型对象都来自 Codable 协议和 WebServices。