- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 iPhone 上使用 NSURLConnection 异步连接进行请求缓存时遇到了一个小问题。我不知道是不是我理解有误,还是 Cocoa 做的与它应该做的相反......
NSURLRequest 的文档说:
NSURLRequestReloadIgnoringLocalCacheData
Specifies that the data for the URL load should be loaded from the originating source. No existing cache data should be used to satisfy a URL load request.
和:
NSURLRequestReloadIgnoringLocalAndRemoteCacheData
Specifies that not only should the local cache data be ignored, but that proxies and other intermediates should be instructed to disregard their caches so far as the protocol allows.
现在,如果我发送带有 NSURLRequestReloadIgnoringLocalCacheData 的 NSURLRequest(应该忽略本地缓存,但如果可用则使用远程缓存),发送的 header 是:
GET /dashboard HTTP/1.1User-Agent: XBlip1.0 CFNetwork/422.15.2 Darwin/9.6.0 (i386) (iMac8%2C1)X-Blip-Api: 0.02Accept: application/jsonAuthorization: Basic (...)Accept-Language: en-usAccept-Encoding: gzip, deflateConnection: keep-aliveHost: api.blip.pl
状态为 200 OK。但是,如果我使用 NSURLRequestReloadIgnoringLocalAndRemoteCacheData,顾名思义,它应该忽略本地和远程缓存,则会添加一个额外的 header :
If-None-Match: "d751713988987e9331980363e24189ce"
响应是 304 Not Modified。我检查了 HTTP RFC,对于“If-None-Match”,它说:
If any of the entity tags match the entity tag of the entity that would have been returned in the response to a similar GET request (without the If-None-Match header) on that resource, (...) then the server MUST NOT perform the requested method (...) Instead, if the request method was GET or HEAD, the server SHOULD respond with a 304 (Not Modified) response
所以看起来如果我使用 NSURLRequestReloadIgnoringLocalAndRemoteCacheData,而不是忽略远程缓存,Cocoa 明确地告诉远程服务器它应该使用远程缓存,如果我使用 NSURLRequestReloadIgnoringLocalCacheData,它不会添加该行实际上未使用远程缓存。
那么这里到底发生了什么?我错过了什么,还是 Cocoa 设置了错误的 header ?
最佳答案
来自文档:
Specifies that not only should the local cache data be ignored, but that proxies and other intermediates should be instructed to disregard their caches so far as the protocol allows.
来自 NSURLRequest.h (10.5 SDK)
Specifies that not only should the local cache data be ignored, but that proxies and other intermediates should be instructed to disregard their caches so far as the protocol allows. Unimplemented.
注意区别:未实现
错误报告时间...
关于iphone - NSURLConnection、NSURLRequest 和远程缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/670056/
我正在使用 NSURLRequest 发送帖子。 NSURL *url = [NSURL URLWithString:someUrlString]; NSMutableURLRequest *theR
当我从后台打开应用程序时,我需要访问服务器来获取一些数据。当我这样做时,我收到如下警报: "Request timed out" (nserror's localised description) 我
我遇到了一个奇怪的问题。我在我的设备上运行 iOS 4.3.2。在 Xcode 4 中编译,但我没有使用 iOS 5 beta SDK。 我的应用程序从服务器获取一个 plist 文件,该 plist
作为一名 iOS 开发新手,我正在尝试了解一些与 iOS 中回调机制相关的概念。 我的模型通过 NSURLRequest 向后端休息服务发出 HTTP 请求。该模型有几个与服务中的方法相对应的方法。
关闭。这个问题需要更多focused 。目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我正在使用 php 和 mysql 数据库开发 iOS 网络应用程序,我的问题是 nsurl 请求获取 php 文件的值没有响应并且不工作但是,我正在命令提示符 url 中打印并复制 url 粘贴并转
我正在尝试设置一个 NSURLRequest 来下载一个简单的 index.html 及其 externa style.css 表,但我不太确定该怎么做。我只是将请求的 URL 格式化为我想要的文件.
这个问题在这里已经有了答案: Managing multiple asynchronous NSURLConnection connections (13 个答案) 关闭 9 年前。
我有一个用 swift 编写的应用程序,它使用 PHP 与我的服务器通信。在我的整个测试过程中,该应用程序运行完美,直到我开始同时在多个设备上进行测试。当我尝试同时加载两个设备时,它会偶尔(不是 10
我创建了一个 NSURLRequest 和一个 NSURLConnection 对象,并在 NSMutableData 实例中收集数据。然后,我根据下载的数据创建一个 NSString 并获取如下所示
通常 http 用户代理是这样的: Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18
我正在使用 NSURLRequest 和 CachePolicy 在 NSData 中下载一个 plist。当我更改我的 plist 的内容时,我的应用程序忽略了这一点并仍然显示缓存的内容。缓存持续多
Cocoa 中的NSURLRequest 类(iOS docs,OS X docs)有一个timeoutInterval 属性。文档状态 If during a connection attempt
我对 NSURLRequest(和伴奏)实现进行了尝试和测试,这对给定 URL 的 GET 和 POST 非常有效。 但是,我现在想在不更改应用程序使用的 URL 的情况下移动 URL 的目标,因此我
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎偏离主题,因为缺乏足够的信息来诊断问题。更详细地描述您的问题或 include
当使用NSURLRequest时在 iPhone 上,各种设备之间的实际性能差异是什么 NSURLRequestCachePolicy设置?我特别感兴趣的是缓存策略对用户对 UIWebView 页面显
我关注了A Cocoa application driven by HTTP data博客文章,并已能够成功使用以下 URL 获取 HTML 以在我的示例应用程序中使用: http://www.arg
我想要使用 HTTP POST 方法来与 ASPX 页面进行通信。我需要通过表单变量传递值。 如何在 Objective-C 上实现它? 最佳答案 http://www.cimgf.com/2010/
大家早上好, 我一直在尝试编写一个应用程序,从需要身份验证的远程 Web 服务执行一些 GET 操作。我的主要问题是大多数远程服务器(而且有很多)没有有效的证书。我有code to accept th
我在 iOS 应用程序中有一个 Angular Web 构建,并且想要 POST使用一些 JSON 向 native 层请求我可以用它来构建一些 native 功能。我正在使用旧的 UIWebView
我是一名优秀的程序员,十分优秀!