我用 Java 为 Android 编程,它的标准库有 Header 和 HeaderElement 类,通过它们可以以智能的方式分析 HTTP 标头。这些非常有用,因为避免用户解析标头值(可能不同且复杂)。
这些是他们的官方文档页面,很清楚方法的含义:
http://developer.android.com/reference/org/apache/http/Header.html
http://developer.android.com/reference/org /apache/http/HeaderElement.html
Objective-C中的iOS有类似的东西吗?如果我收到一个响应(键入为 NSHTTPURLResponse),我是否必须手动解析其标题字段?
我问这个是因为我看到的检索 NSHTTPURLResponse 标头的唯一方法是
- (NSDictionary *)allHeaderFields
它只是返回一个以 NSString 对象作为值的字典。
编辑,添加示例
例如,如果我们以响应的 Cache-Control 标头为例,它可能具有以下语法:
"public"
| "private" [ "=" <"> 1#field-name <"> ]
| "no-cache" [ "=" <"> 1#field-name <"> ]
| "no-store"
| "no-transform"
| "must-revalidate"
| "proxy-revalidate"
| "max-age" "=" delta-seconds
| "s-maxage" "=" delta-seconds
| cache-extension
在哪里
[] means optional
1# means one ore more
您了解手动解析标头可能很复杂。