【发布时间】:2011-02-17 07:43:47
【问题描述】:
知道如何在客户端处理电子标签吗?我们计划在我们的应用程序中使用 eTag 和来自服务器的图像。
关于什么是 eTag,请参阅: http://en.wikipedia.org/wiki/HTTP_ETag
【问题讨论】:
标签: iphone cocoa-touch uiview etag
知道如何在客户端处理电子标签吗?我们计划在我们的应用程序中使用 eTag 和来自服务器的图像。
关于什么是 eTag,请参阅: http://en.wikipedia.org/wiki/HTTP_ETag
【问题讨论】:
标签: iphone cocoa-touch uiview etag
学习的起点...
NSMutableURLRequest
您可以在此处为您的请求设置 eTag 值。
[self addValue:eTag forHTTPHeaderField:@"If-None-Match"];
此请求可用于 NSURLConnection。
NSURLConnectionDelegate
你的 NSURLConnection 的代表有方法...
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
...您的回复是NSHTTPURLResponse。
您应该在另一个委托的方法中检查响应状态代码...
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
... 未修改远程对象时收到状态码 304。如果远程对象被修改并且支持eTag,你可以在[response allHeaderFields]找到它。
【讨论】:
-connectionDidFinishLoading: 中的状态码。最好在响应到达时立即检查它,以便在代码意外的情况下可以立即取消连接或以其他方式处理